2016-05-12 76 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); 
    } 
} 
相關問題