【发布时间】:2015-08-06 10:30:50
【问题描述】:
我在 ember 中有一个组件,它需要向应用程序控制器发送一个操作(带有一个参数)。无论此组件在何处呈现,它都需要在应用程序控制器上调用完全相同的操作。
应用程序控制器
export default Ember.Controller.extend({
actions: {
addAlert: function(message) {
this.set('message', message);
},
removeAlert: function(message) {
this.set('message', message);
}
}
});
我该如何处理?从头到尾。
【问题讨论】:
-
您是否查看了此处的指南:guides.emberjs.com/v1.10.0/components/…?
-
有什么原因你没有在申请路线上抓住它?
-
@Kitler 我正在修改控制器上的属性,所以我希望动作在那里
-
动作不会通过控制器冒泡,它们会通过路由冒泡,您可以在应用程序路由上捕获它并从那里设置控制器属性。
-
@Kitler 的回答是正确的。您不会冒泡到应用程序控制器,但会冒泡到应用程序路由。但是,如果您需要在使用组件的任何地方触发相同的操作,那么为什么不在组件本身中包含操作呢?
标签: javascript ember.js ember-cli