在 emberjs 中访问 #each 中的索引

新手上路,请多包涵

请查看随附的代码:

http://jsbin.com/atuBaXE/2/

我正在尝试使用 {{@index}} 访问索引,但它似乎没有被编译。我认为车把支持:

 {{#each item in model}}
  {{@index}}
  {{item}}
{{/each}}

它不适合我。我不知道 {{@index}} 是否受支持。

我在用:

  • 余烬版本:1.0.0
  • 把手。版本:1.0.0

原文由 Mohammad Abu Musa 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 349
2 个回答

更新

自从 这个 PR 以来,现在可以使用带有索引的 each 助手,从而采用新的块参数语法。这在 canary 上可用,希望在 ember 1.11 中默认启用

{{#each model as |item index|}}
  <li>
    Index: {{index}} Content: {{item}}
  </li>
{{/each}}

活体样本

对于旧版本

您可以使用 {{_view.contentIndex}}

 {{#each item in model}}
  <li>
    Index: {{_view.contentIndex}} Content: {{item}}
  </li>
{{/each}}

活体样本

原文由 Marcio Junior 发布,翻译遵循 CC BY-SA 3.0 许可协议

不,它在 Ember 的 Handlebars 版本中不存在,一种方法是使用项目控制器并向其添加一个属性,说明它是第一个还是最后一个等。

 App.IndexController = Ember.ArrayController.extend({
  itemController: 'itemer'
});

App.ItemerController = Ember.ObjectController.extend({
  needs:['index'],
  isFirst: function(){
    return this.get('color') === this.get('controllers.index.firstObject.color');
  }.property('controllers.index.firstObject')
});

http://emberjs.jsbin.com/aPewofu/1/edit

原文由 Kingpin2k 发布,翻译遵循 CC BY-SA 3.0 许可协议

推荐问题