我已经构建了一个系统,根据某个变量动态生成子组件。但是,所有可能的组件都共享一些方法。如何实现这一目标?
父组件:
export default Ember.Component.extend({
actions: {
someAction() {}
}
});
在父视图中,使用{{component}}帮助程序调用组件
{{component 'someComponent'}}
子组件:
export default Ember.Component.extend({});
这里我需要在子视图中访问父组件中的someAction。
例如:
<button {{action 'someAction'}}>Click me !!</button>
我使用的是Ember 1.13.0
答案 0 :(得分:2)
您需要停止操作:
{{component 'someComponent' someAction=(action 'someAction')}}
然后在您的子组件中调用它:
this.attrs['someAction']();
你可以把它放在一个普通的混音中:
actions: {
someAction() {
this.attrs['someAction'](...arguments);
}
}