2013-07-25 5 views
4

У меня есть список людей, и я хотел бы показать, сколько записей редактируется с помощью Ember.js. Внутри PeopleController я пытаюсь сосчитать атрибуту isEditing из PersonController со следующим кодом:Ember как получить доступ к дочернему контроллеру из родительского контроллера

К сожалению, я получаю 0 в результате из editCounter функции. Этот атрибут (isEditing) должен сказать мне, сколько человек редактируется. Функция editCounter называется внутри HTML архива в том, что я назвал index.html:

... 
      {{outlet}} 
      <div id="count_edits"> 
       <span id="total_edits"> 
        <strong>Editing: </strong> {{editCounter}} 
       </span> 
      </div> 
... 

Так вот мой вопрос: Как получить доступ к правильно isEditing внутри PeopleController?

ответ

4

В вашем ArrayController Убедитесь, что вы устанавливаете itemController:

Schedule.PeopleController = Ember.ArrayController.extend({ 
    itemController: 'Person', 
    editCounter: function() { 
     return this.filterProperty('isEditing', true).get('length'); 
    }.property('@each.isEditing') 
}); 

См http://jsbin.com/eyegoz/4/edit

+0

Спасибо !!! Это именно то, что я искал. : D –

Смежные вопросы