我在烬中有一个组件,它需要向应用程序控制器发送一个操作(带有一个参数)。无论在何处呈现该组件,它都需要在应用程序控制器上调用完全相同的操作。
application-controller
export default Ember.Controller.extend({
actions: {
addAlert: function(message) {
this.set('message', message);
},
removeAlert: function(message) {
this.set('message', message);
}
}
});
我该怎么处理?从头到尾。
发布于 2015-08-06 12:05:45
操作不会在控制器中冒泡,当一个动作被触发时,它将通过当前路由的控制器,如果没有处理它,它会一直一直到当前路由(应用程序)。
如果该操作必须在控制器上设置一个属性,则可以从应用程序路由直接设置该属性(尽管不建议这样做)。
// routes/application.js
actions {
addAlert(message) {
this.controller.set('message', message);
},
removeAlert(message) {
this.controller.set('message', message);
}
}
有关更多信息,请阅读动作鼓泡。
https://stackoverflow.com/questions/31853437
复制相似问题