Mar*_*ins 2 javascript ember.js ember-cli
我在ember中有一个组件,它需要向应用程序控制器发送一个动作(带有一个参数).无论在何处呈现此组件,它都需要在应用程序控制器上调用完全相同的操作.
应用控制器
export default Ember.Controller.extend({
actions: {
addAlert: function(message) {
this.set('message', message);
},
removeAlert: function(message) {
this.set('message', message);
}
}
});
Run Code Online (Sandbox Code Playgroud)
我该如何处理?从开始到结束.
操作不会通过控制器冒泡,当触发操作时,它将通过当前路径的控制器,如果没有任何处理它,它会一直冒泡到当前路径一直到顶层路径(应用程序).
如果该操作必须在控制器上设置属性,则可以直接从应用程序路由设置它(尽管不建议这样做).
// routes/application.js
actions {
addAlert(message) {
this.controller.set('message', message);
},
removeAlert(message) {
this.controller.set('message', message);
}
}
Run Code Online (Sandbox Code Playgroud)
有关更多信息,请阅读动作冒泡.