ArrayController vs #each中的itemController

时间:2013-06-06 19:53:02

标签: ember.js

跟着Getting Started Guide我有http://jsbin.com/enutit/2/edit

我的问题是我怎么不能从每个助手中删除itemController

<ul id="todo-list">
    {{#each controller itemController="todo"}}
        <li {{bindAttr class="isCompleted:completed isEditing:editing"}}>

然后添加

itemController: 'todo',

到Todos.TodosController并让它工作?

1 个答案:

答案 0 :(得分:8)

因为控制器的属性与{{each}}助手的属性不同。

{{each}}在内部创建Ember.Handlebars.EachView的实例,以显示Todos.TodosController的{​​{1}}媒体资源中的每个项目。这个视图需要content属性,以便它可以为每个子视图创建一个新的itemController(注意单数形式)实例。