2016-04-21 45 views
2

我有一个问题,我想在不同的ractI've组件中调用函数。 例如,我有2个ractive组件A和B,我想从另一个ractive组件B调用A.xyz() fintion。如何在ractive组件之间进行通信?

+0

什么是视图层次结构的组件之间的关系?他们是祖先/后代关系吗?还是他们是兄弟姐妹? – martypdx

+0

根本没有关系。组件A和B处于不同的层次结构中。 –

回答

0

我们可以使用全局Ractive实例。 从全局Ractive实例上的组件B fire事件。

Ractive.default.fire('call.componentA.event') 

赶上成分B此事件

Ractive.default.on('call.componentA.event', function(){ 
//Do your stuff here 
}) 
0

你可以试着火消息在Ractive根,而不是

组件A.js

export default Ractive.extend({ 

    template, 

    oninit() { 
    ... 
    var obj = {// some data to be sent to component B}; 

    this.root.fire('eventType', obj); 
    } 

}); 

和组分B “接收”

componentB.js

export default Ractive.extend({ 

    template, // template for 


    oninit() { 

    this.root.on('eventType', (obj) => { 
     // ...do something with the object 
    }); 
    } 

}); 
相关问题