我在$.get
内使用$.each
调用外部Mustache模板,以便在我的数组中的每个Photo对象上使用。
这是我的代码:
$.when.apply($, requests).then(function(dataOne, dataTwo) {
$.each(dataOne, function(idx, obj) {
$.get("myTemplate.mst", function(template) {
var rendered = Mustache.render(template, obj);
$photoElem.html(rendered);
});
});
});
我的问题是,一旦刷新屏幕,我的数组对象中只会显示一个。我知道{{#item}}
要遍历数组,但我正在使用$.each
这是非常具体的原因。
有人能告诉我我做错了吗?
答案 0 :(得分:2)
尝试这个
$.when.apply($, requests).then(function(dataOne, dataTwo) {
$.get("myTemplate.mst", function(template) {
$.each(dataOne, function(idx, obj) {
var rendered = Mustache.render(template, obj);
$photoElem.append(rendered);
});
});
});
假设问题导致您替换$ photoElem的内容(使用.html())而不是附加每个新项目
我用.append(
)替换.html()更改代码只能读取一次模板(如@Andy所说)