dojo模板字符串最佳实践

       之前写了一篇文章介绍dojo/string模块提供的模板处理函数substitute ,随之而来的一个问题是写模板字符串太麻烦了,涉及到转义等问题。
        我的建议是将模板字符串写在一个单独文件中,然后使用dojo/text模块来加载(dojo loader的一个插件。关于loader插件的更多信息请参考http://blog.csdn.net/tt361/article/details/8125246),这样即省去了转义的烦恼又保证了js与html分离。这也是dojo小部件模板与js程序的组织方式,至于会增加向服务器端的请求嘛,构建完了会自动压缩到相应的js文件中。
        具体做法如下:
        假设模板文件名字为template.html,其中内容为

<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);});

相关文章
相关标签/搜索