我关注了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}}