Привет. Добро пожаловать в Ember сообщество.
А зачем тут вообще itemController? Я бы сделал так:
{{#each item in model}}
<div>
<h1>{{item.name}}</h1>
<a {{action "removeItem" item}}>remove</a>
</div>
{{/each}}
App.ListController = Ember.Controller.extend({
actions: {
removeItem: function(model) {
model.destroyRecord();
}
}
});
Или если у вас предполагается какая-то логика элементов списка, то вам нужно использовать компоненты:
App.ItemListComponent = Ember.Component.extend({
item: null,
actions: {
removeItem: function() {
var item = this.get('item');
item.destroyRecord();
}
}
});
{{#each item in model}}
{{item-list item=item}} //извиняюсь за тавтологию
{{/each}}
то есть action в дочернем контроллере не перехватывается, если вставить в ListController нужный action
Передаются от контроллера к роуту, а затем от роута к роуту вверх по цепочке.
И может кто посоветовать какие-нибудь материалы по изучению, а то официальный гайд ответы на все вопросы не дает, он описывает все отдельными примерчиками, а какого-то комплексного подхода ко всему не дает. Даже немного обескураживает такой простой момент, что в гайде показывают как использовать ObjectController, но при попытке использования выдается информация, что уже deprecated, используйте просто Controller. Соответственно использование ObjectController и itemController непосредственно в шаблоне решает вопрос с экшеном в дочернем, но при переделке под "новые" стандарты (Controller и itemController в коде контроллера) работать перестает.
Сейчас такого комплексного актуального туториала наверное и не найти, Ember развивается семимильными шагами.
Может быть вопрос очень глупый, но я первый день его смотрю и пока не могу сообразить, где же я совершаю ошибку.
Да не нормальный вопрос.