`
v5browser
  • 浏览: 1147341 次
社区版块
存档分类
最新评论

dojo模板字符串最佳实践

 
阅读更多
Email:longsu2010 at yeah dot net
之前写了一篇文章介绍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文件中。
具体做法如下:
假设模板文件名字为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);
});

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics