所以,基本上我有两个 Controller 。其中一个有一个 Action ,我希望能够从另一个 Controller 中的 Action 调用。我试过这样的事情:
Controller :
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
哈希
Demoapp.BarController = Ember.ObjectController.extend({
sendMsg: false,
barControllerMsg: function() {
console.log("Message from Bar controller");
}.observes('sendMsg')
});
关于ember.js - EmberJS : Calling action from child controller,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21895414/