首页 > 代码库 > 改进的模板替换
改进的模板替换
之前美丽湾项目是用赢家写的替换方法,替换数据时,无法深度遍历,这里修改一下
方法:
1 function tempExt(h, data) { 2 return h.replace(/\{(.*?)\}/g, function (str, m) { 3 var arrM = m.split(‘.‘), 4 t = data[arrM.shift()]; 5 for (var i = 0, _len = arrM.length; i < _len; i++) { 6 t = t[arrM[i]]; 7 } 8 return t === undefined || t === null ? ‘‘ : t; 9 }); 10 }
测试数据:
var testData =http://www.mamicode.com/ { d1: ‘1‘, d2: ‘2‘, d3: { id: { u: 1024 } } } var htmlTemp = ‘<p><span>{d1}</span><span>{d2}</span><span>{d3.id.u}</span></p>‘;
调用:
tempExt(htmlTemp, testData);
就这样啦,当然跟别人的模板引擎差太多了,无法实现逻辑运行,迭代这些操作,不过小范围的单纯替换数据还是可以用上的。
————————————一些题外话的可悲分割线——————————————
唉,今天离职了,心情有些低落。和大家共事那么久了,最后还是天各一方。
很多想说的话到最后还是没能说出口。
不管怎么样,且行且珍惜吧。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。