每次我渲染 HTML 模板时,我都会尝试用新单词替换多个单词。
而不是必须循环遍历模板(非常大)三次来查找三个不同的单词,我想将这三个单词及其替换组合起来,并且只遍历模板一次。(另外,很明显,下面的代码只替换了最后一个单词,{id},因为它覆盖了上面的其他两个替换尝试)。
$.get('/templates/list-item.html', function(data) {
var template = data,
tmp = '';
$.getJSON('conf.json', function(data) {
var items = [],
list = data.default;
for (var item in list) {
var name = item.name,
value = list[item].value,
id = list[item].id;
tmp = template.replace('{name}', name);
tmp = template.replace('{value}', value);
tmp = template.replace('{id}', id);
items.push(tmp);
}
$('<div/>', {
html: items.join('')
}).appendTo('body');
});
});
显然渲染模板不应该用JS来做,但由于它仅供内部使用,没有可用的后端,也不需要谷歌索引,暂时还好。