第二个参数(控制器)给每个助手的把手。这是什么意思?

时间:2013-04-03 14:13:15

标签: ember.js handlebars.js

我正在尝试分析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>

它应该是一个选项哈希,但我不确定。

1 个答案:

答案 0 :(得分:1)

它将当前控制器的itemController属性(我假设为TodosController)设置为todo,即TodoController的实例。

这意味着每个项目(<li>元素)都不会绑定到TodosController,而是绑定到TodoController个实例。

isEditingTodoController的实例上查找该属性,{{ action "removeTodo" }}会在removeTodo上调用TodoController函数。