js 模板引擎

 1 var template = document.querySelector('#template').innerHTML,
 2   result = document.querySelector('.result'),
 3   attachTemplateToData;
 4  
 5 // 将模板和数据作为参数,通过数据里所有的项将值替换到模板的标签上(注意不是遍历模板标签,因为标签可能不在数据里存在)。
 6 attachTemplateToData = function(template, data) {
 7         var i = 0,
 8             len = data.length,
 9             fragment = '';
10  
11         // 遍历数据集合里的每一个项,做相应的替换
12         function replace(obj) {
13             var t, key, reg;
14        
15        //遍历该数据项下所有的属性,将该属性作为key值来查找标签,然后替换
16             for (key in obj) {
17                 reg = new RegExp('{{' + key + '}}', 'ig');
18                 t = (t || template).replace(reg, obj[key]);
19             }
20  
21             return t;
22         }
23  
24         for (; i < len; i++) {
25             fragment += replace(data[i]);
26         }
27  
28         return fragment;
29     };
30  
31 result.innerHTML = attachTemplateToData(template, data);

 

参考:http://www.cnblogs.com/TomXu/archive/2011/12/15/2284752.html

posted @ 2015-12-21 13:14  gaozejie  阅读(241)  评论(0编辑  收藏  举报