2013-09-12 3 views
1

У меня есть следующие настройки:доступа контроллер пункт в связи

App.AreasController = Ember.ArrayController.extend({ 
    itemController: 'area' 
}); 

// In my project route: 
setupController: function(controller, model) { 
    this.controllerFor('areas').set('content', model.areas); 
} 

На мой взгляд, сейчас я редактированием App.Areas, и хотел бы вызвать метод контроллера (от itemController) для данного area от моего Посмотреть. Как мне это сделать?

Если я пытаюсь получить доступ к контроллеру area.get('controller') (где area представляет собой один элемент из model.areas), он возвращает unknown.

Если у меня есть area.send('save'), я получаю сообщение об ошибке Error: Attempted to handle event 'save' on <App.Area:ember1013:5230a2ee945f3b718a00006e> while in state root.loaded.saved. Любые идеи о том, как я могу это решить?

ответ

0

Я думаю, что вы будете хотеть что-то вроде этого:

{{#each}} 
    <li {{action toggleEdit}}> 
    <!-- Other stuff goes here --> 
    </li> 
{{/each}} 

App.AreaController = Ember.ObjectController.extend({ 
    isEditing : false, 
    toggleEdit : function(){ 
     this.set('isEditing', !this.get('isEditing')); 
    } 
}); 

Вот JSBin общей идеи: http://jsbin.com/ucanam/1045/edit

Внутри вашего зрения «Следующий уровень» является itemController, а не сам предмет. Вам не нужно пытаться получить контроллер из элемента, потому что контроллер находится между представлением и элементом. Итак, вы просто вызываете методы непосредственно на itemController.

+0

Я боюсь, что это не решит мою проблему. Что происходит, так это то, что я делаю изменения в коде JS моего представления (которое использует Карты Google). Проблема в том, что в JS моего представления я, по-видимому, не могу получить доступ к элементу ControlController, который я настроил в setupController по какой-то причине. См. [Этот связанный вопрос] (http://stackoverflow.com/questions/18371129/itemcontroller-for-hasmany?lq=1) для моей настройки. – chopper

+0

Наверное, я не имею ни малейшего представления о том, что вы на самом деле пытаетесь сделать здесь ... Если вы можете собрать JSBis, я с удовольствием посмотрю. –

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