对堆栈组件,控制器操作的sendAction

时间:2013-11-13 09:50:15

标签: ember.js components

有没有办法通过sendAction调用堆栈组件(组件的嵌套层次结构)上的控制器操作?例如,我有一些按钮组件的模态组件,我想在一个调用的控制器上执行一个动作。我还没看过来源。谢谢你的帮助

2 个答案:

答案 0 :(得分:0)

看看Ember.Instrumentation http://emberjs.com/api/classes/Ember.Instrumentation.html

您可以使用它在更全球的层面上发送和注册事件。

根据我的理解,使用sendAction“only”会在层次结构中冒泡。

答案 1 :(得分:0)

关闭动作是您问题的答案。

在控制器中定义操作并将该操作发送到组件,您可以使用组件中的sendAction。

应用/控制器/ application.js中

import Ember from 'ember';
export default Ember.Controller.extend({
  actions:{
    controllerAction(){
      //
    }
  }
});

将my-component包含在application.hbs中,

{{my-component controllerAction=(action 'controllerAction') }}

my-component.js中,您可以说this.sendAction('controllerAction')它将调用控制器controllerAction方法。