之前写了一篇文章介绍dojo/string模块提供的模板处理函数substitute(请参考 http://blog.csdn.net/tt361/article/details/8988229),随之而来的一个问题是写模板字符串太麻烦了,涉及到转义等问题。
我的建议是将模板字符串写在一个单独文件中,然后使用dojo/text模块来加载(dojo loader的一个插件。关于loader插件的更多信息请参考 http://blog.csdn.net/tt361/article/details/8125246),这样即省去了转义的烦恼又保证了js与html分离。这也是dojo小部件模板与js程序的组织方式,至于会增加向服务器端的请求嘛,构建完了会自动压缩到相应的js文件中。
具体做法如下:
<div class="content"> <div class="title">${title}</div> <div class="detail">${detail}</div> <div class="info">${info}</div> </div>
假设template.html放在templates子目录中,那么使用方法如下:
require(["dojo/dom","dojo/string","dojo/text!./templates/template.html"],function(dom,string,template){ var article = {title : "",detail : "",info : ""}; dom.byId("dom-id").innerHTML = string.substitute(template,article); });
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。