在余烬把手的嵌套循环中获取索引计数器
Getting index counter in nested loop of embers handlebar
我关注 http://mozmonkey.com/2014/03/ember-getting-the-index-in-each-loops/ 博客 post 通过 helper 添加索引计数器。这对于单个 each 循环非常有效。但是当我将它与嵌套的每个循环一起使用时,值会重复。示例:
{{#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}}
将输出:
Outer Index: 1
Inner Index: 1
Inner Index: 2
Outer Index: 2
Inner Index: 1
Inner Index: 2
如果你想计算迭代次数,你可以试试这个答案:
(function() {
var positionCounter = 1;
Handlebars.registerHelper('position', function() {
return positionCounter++;
});
})();
这给你:
{{#each item in data}}
{{#eachIndexed record in item.innerdata}}
{{position}}
{{/eachIndexed}}
{{/each}}
Nested each blocks may access the interation variables via depth based
paths. To access the parent index, for example, {{@../index}} can be
used.
我关注 http://mozmonkey.com/2014/03/ember-getting-the-index-in-each-loops/ 博客 post 通过 helper 添加索引计数器。这对于单个 each 循环非常有效。但是当我将它与嵌套的每个循环一起使用时,值会重复。示例:
{{#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}}
将输出:
Outer Index: 1
Inner Index: 1
Inner Index: 2
Outer Index: 2
Inner Index: 1
Inner Index: 2
如果你想计算迭代次数,你可以试试这个答案:
(function() {
var positionCounter = 1;
Handlebars.registerHelper('position', function() {
return positionCounter++;
});
})();
这给你:
{{#each item in data}}
{{#eachIndexed record in item.innerdata}}
{{position}}
{{/eachIndexed}}
{{/each}}
Nested each blocks may access the interation variables via depth based paths. To access the parent index, for example, {{@../index}} can be used.