在 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 许可协议

阅读 347
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 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题