使用Ember Handlebars迭代时,获取数组索引的正确方法是什么?

时间:2014-02-17 23:25:07

标签: ember.js indexing handlebars.js

{#each controller.content.assetAllocation.class}}
    {{@index}}
{{/each}}

我正在尝试运行上面的代码,它应该输出数组的索引,但它会产生一个错误: “未捕获的SyntaxError:意外的令牌”,

2 个答案:

答案 0 :(得分:16)

解决方案并不像我希望的那样好,但这有效:

{#each controller.content.assetAllocation.class}}
    {{_view.contentIndex}}
{{/each}}

答案 1 :(得分:4)

这是我的方式:

{#each controller.content.assetAllocation.class as |item index|}}
    {{index}} - {{item}}
{{/each}}

索引是从零开始的编号。因此,如果您想要更改它,只需添加一个这样的帮助器:

Ember.Handlebars.registerBoundHelper("indexBase1", function (value, options) {
        return value + 1;
});

使用它:

{#each controller.content.assetAllocation.class as |item index|}}
    {{indexBase1 index}} - {{item}}
{{/each}}