2013-04-03 43 views
0

我在分析TodoMVC的Ember例子。 #each helper的第二個參數是什麼意思?第二個參數(控制器)處理每個助手。這是什麼意思?

<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

它將當前控制器的itemController屬性(我假設爲TodosController)設置爲todo,即TodoController的實例。

這意味着每個項目(<li>元素)將綁定到TodosController而不是TodoController實例。

isEditing將查找的TodoController{{ action "removeTodo" }}實例的屬性將呼籲TodoControllerremoveTodo功能。

+0

好的,但我可以像這裏在TodosController中聲明它:http://emberjs.com/api/classes/Ember.ArrayController.html? 因此,每個ArrayController都有與單個模型項目相關的itemController屬性? – wryrych

+0

是的,如果你在'TodosController'類中聲明它,它應該可以工作。是的,'itemController'是任何'Ember.ArrayController'的屬性 –

相關問題