我关注了http://mozmonkey.com/2014/03/ember-getting-the-index-in-each-loops/博客文章,以通过助手添加索引计数器。单个循环一个就可以很好地工作。但是,当我将其与嵌套的每个循环一起使用时,该值将重复出现。范例:

{{#each item in data}}
    {{#eachIndexed record in item.innerdata}}
       {{index_1}}
    {{/eachIndexed}}
{{/each}}

我在数据中有两个对象,在每个内部数据中有两个对象。预期结果是
1 2 3 4
但我越来越
1 2 1 2
我如何获得预期的结果?我的把手版本是1.1.2, Ember 版本是1.6.1。

最佳答案

如果您的数据是:

[
  {innerdata: ['foo', 'bar']},
  {innerdata: ['foo', 'bar']}
]

然后它按预期工作,因为它是索引而不是计数器。
{{#each item in data}}
    Outer Index: {{index_1}}<br>
    {{#eachIndexed record in item.innerdata}}
       Inner Index: {{index_1}}<br>
    {{/eachIndexed}}
{{/each}}

将输出:



如果要计算迭代次数,可以尝试以下答案:https://stackoverflow.com/a/15376389/29347
(function() {
  var positionCounter = 1;

  Handlebars.registerHelper('position', function() {
    return positionCounter++;
  });
})();

这给你:
{{#each item in data}}
    {{#eachIndexed record in item.innerdata}}
       {{position}}
    {{/eachIndexed}}
{{/each}}

10-05 20:48
查看更多