我觉得这应该是可能的,但我无法让它发挥作用。基本上,使用下划线和jQuery我有一个模板,然后我有一个对象数组,我想发送到模板。它看起来像这样:
var template = _.template($("script.template").html());
var jA = data.jsonArray;
$("#results").html(_.template(template(jA)));
我希望它将模板应用于数组中的每个对象,但它不起作用。
如果我做一个循环它可以工作,但这似乎应该是不必要的。
$.each(jA, function(index,value){
$("#results").append(_.template(template(value)));
});
我错过了什么或者我是否必须做凌乱的循环? (jA绝对是一个json数组)
谢谢:)
答案 0 :(得分:0)
是的,你需要做循环。 Underscore不会自动循环并重复附加已处理的模板,因为您为它提供了一个数组。我也不确定为什么你认为它应该是不必要的 - 如果你有一个特别需要来自列表中索引元素的模板,例如<%= data[0] %>
怎么办?
无论如何,循环并不是很麻烦:
_.each(data, function(item) {
list.append(template(item));
});
如果有帮助的话,请a pen。