2
Итак, в основном у меня два контроллера. У одного из них есть действие, которое я хотел бы иметь возможность вызвать из действия в другом контроллере. Я пытался что-то вроде этого:EmberJS: Вызов от дочернего контроллера
Контроллеры:
Demoapp.FooController = Ember.ObjectController.extend({
needs: ['bar'],
actions: {
fooControllerAction: function() {
var foo = this.get('controllers.foo');
foo.set('sendMsg', true);
}
}
});
Demoapp.BarController = Ember.ObjectController.extend({
sendMsg: false,
actions: {
barControllerMsg: function() {
console.log("Message from Bar controller");
}.observes('sendMsg')
}
});
Шаблон:
<h1>Foo Template</h1>
<button type="submit" {{action 'fooControllerAction'}}>Call barControllerMsg</button>
И это не получилось ... Я не совсем уверен, как идти об этом, может кто-то предложить некоторые советы? Другое решение, которое я нашел, связано с наличием логики в шаблоне, и я бы предпочел избежать этого.
Я не думаю, что функция наблюдателя должна находиться в 'actions' хэша – chopper
Правильно, теперь он работает. Благодаря! – Natalia
Отлично! Я дал ему ответ. Пожалуйста, примите это, чтобы вопрос не появился как без ответа. – chopper