HTML テンプレートをレンダリングするたびに、複数の単語を新しい単語に置き換えようとしています。
テンプレート (非常に大きい) を 3 回ループして 3 つの異なる単語を探す代わりに、3 つの単語とその置換を組み合わせて、テンプレートを 1 回だけループしたいと考えています。(また、明らかに以下のコードは、最後の単語 {id} のみを置き換えます。これは、その上にある他の 2 つの置換試行をオーバーライドするためです)。
$.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 で行うべきではありませんが、内部使用のみであるため、バックエンドは使用できず、Google によってインデックス化される必要もないため、当面は問題ありません。