Ember.js:itemController中的引用索引

时间:2014-07-10 02:03:17

标签: ember.js handlebars.js

在Handlebars模板中,我可以像这样引用{{#each}}帮助器的索引:

{{#each}}
    {{@index}}
{{/each}}

OR

{#each}}
    {{_view.contentIndex}}
{{/each}}

如果我正在使用itemController,如何从itemController获取对索引的引用?

{{#each itemController="item"}}
    {{foo}}
{{/each}}

App.ItemController = Ember.ObjectController.extend({
  foo: function() {
   // how to get a reference to the index here?
   // this.get('@index') doesn't work
   // this.get('index') doesn't work
  }.property()
});

1 个答案:

答案 0 :(得分:2)

您可以访问parentController并使用indexOf获取当前项目的索引。

App.ItemController = Ember.ObjectController.extend({
  foo: function() {
    return this.parentController.indexOf(this);
  }.property('parentController.[]')
});

示例:http://emberjs.jsbin.com/sokukihe/1/edit