2016-02-03 3 views
1

Я только что обновил приложение Ember до последней версии, , но при проверке его функциональности некоторые действия не работают. Мой предыдущий код, который отлично работает в старой версии, приведен ниже.Как получить доступ к действию другого контроллера с другого контроллера

export default Ember.Controller.extend({ 
needs: 'sales-order', 
actions: { 
    showModal: function(mode){ 
     this.get('controllers.sales-order').send('showModal', mode); 
    } 
    } 
}); 

Похоже, "потребности" амортизируется.

ответ

5

Вместо needs вы должны использовать Ember.inject.controller. Это должно выглядеть примерно так:

export default Ember.Controller.extend({ 
    salesOrder: Ember.inject.controller(), 

    actions: { 
    showModal(mode) { 
     this.get('salesOrder').send('showModal', mode); 
    } 
    } 
}); 

Вы можете найти более подробную информацию в Managing Dependencies Between Controllers руководстве.

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