Ember.js html 标签中的 {{#each}} 值?

Ember.js {{#each}} value in html tag?

所以我正在使用 Ember.js 每个助手,但我无法将值放在我想要的地方。

这是我希望 html 的样子。

<div id="item0">
  item0Value
</div>

但我不知道如何在车把模板中写这个。

这是我试过的。

{{#each item in array}}
  <div id="item{{item.id}}">
    {{item.value}}
  </div>
{{/each}}

这给了我一个错误。

Uncaught Error: Assertion Failed: An error occured while setting up template bindings. Please check for invalid markup or bindings within HTML comments.

有没有办法在这里做我想做的事?还是不能将值放在 html 标签内?

来自ember/guides

It is often useful to specify a controller to decorate individual items in the ArrayController while iterating over them. This can be done by creating an ObjectController:

您可以使用项目控制器生成您需要的值,然后在您的模板中访问它们:

{{#each item in array itemController="song"}}
  <div {{bind-attr="item.cssId"}}>
    {{item.value}}
  </div>
{{/each}}

// controllers/song
App.SongController = Ember.ObjectController.extend({
   cssId: function() {
     return 'item' + this.get('id');
   }.property('id')
...

注意:作为最佳实践,最好在模板中声明 itemController,而不是直接在 ArrayController

中声明