为什么$ .each只显示我的一个Mustache模板?

时间:2015-06-04 12:21:51

标签: javascript jquery each mustache

我在$.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这是非常具体的原因。

有人能告诉我我做错了吗?

1 个答案:

答案 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所说)