2016-05-12 72 views
1

我已经构建了一个系统,根据一些变量动态生成子组件。但是,所有可能的组件都有一些方法。这怎么能实现?子组件如何访问EmberJS中父组件的操作?

父组件:

export default Ember.Component.extend({ 
    actions: { 
    someAction() {} 
    } 
}); 

在父视图,组件被使用{{分量}}辅助

称为

{{component 'someComponent'}}

儿童组件:

export default Ember.Component.extend({}); 

这里我需要访问子视图中父组件的someAction。

如:

<button {{action 'someAction'}}>Click me !!</button> 

我使用灰烬1.13.0

回答

1

你需要给动作下来:

{{component 'someComponent' someAction=(action 'someAction')}} 

然后调用它在你的子组件:

this.attrs['someAction'](); 

你可以把这个一个普通的mixin:

actions: { 
    someAction() { 
    this.attrs['someAction'](...arguments); 
    } 
} 
相关问题