在WEB前端开发中,经常会根据动态的数据加载一些具有相同结构、不同内容的HTML控件,如果把这些HTML代码全写入JS中,根据不同的数据显示的控件也不一样,操作起来会显得比较繁琐,而且极不利于代码的维护,怎么办呢?不知道你是否听说过模板,模板渲染,数据填充。使用模板方法,直接把数据往里面套就好了。憋说话,先上个示例,用心去感受。
这里有个非常重要的方法,此方法是对原生js的string类进行的扩展,也就是我们要用来填充格式数据的方法。
JS:
String.prototype.tmp = function(obj) {
return this.replace(/\$\w+\$/g, function(matchs) {
var returns = obj[matchs.replace(/\$/g, "")];
return (returns + "") == "undefined"? "": returns;
});
};
方法定义好了,接下来写好HTML模板:
HTML:
<div class="container">
<ul class="list_box" id="list_box">
<script type="text/template" data-id="list_tpl">
<li class="list_item">
<h3>$title$<