我正在尝试分析TodoMVC的Ember示例。 #each助手的第二个参数是什么意思?
<ul id="todo-list">
{{#each filteredTodos itemController="todo"}}
<li {{bindAttr class="isCompleted:completed isEditing:editing"}}>
{{#if isEditing}}
{{view Todos.EditTodoView todoBinding="this"}}
{{else}}
{{view Ember.Checkbox checkedBinding="isCompleted" class="toggle"}}
<label {{action "editTodo" on="doubleClick"}}>{{title}}</label>
<button {{action "removeTodo"}} class="destroy"></button>
{{/if}}
</li>
{{/each}}
</ul>
它应该是一个选项哈希,但我不确定。
答案 0 :(得分:1)
它将当前控制器的itemController
属性(我假设为TodosController
)设置为todo
,即TodoController
的实例。
这意味着每个项目(<li>
元素)都不会绑定到TodosController
,而是绑定到TodoController
个实例。
isEditing
在TodoController
的实例上查找该属性,{{ action "removeTodo" }}
会在removeTodo
上调用TodoController
函数。