2
我有一个问题,我想在不同的ractI've组件中调用函数。 例如,我有2个ractive组件A和B,我想从另一个ractive组件B调用A.xyz()
fintion。如何在ractive组件之间进行通信?
我有一个问题,我想在不同的ractI've组件中调用函数。 例如,我有2个ractive组件A和B,我想从另一个ractive组件B调用A.xyz()
fintion。如何在ractive组件之间进行通信?
我们可以使用全局Ractive实例。 从全局Ractive实例上的组件B fire事件。
Ractive.default.fire('call.componentA.event')
赶上成分B此事件
Ractive.default.on('call.componentA.event', function(){
//Do your stuff here
})
你可以试着火消息在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
});
}
});
什么是视图层次结构的组件之间的关系?他们是祖先/后代关系吗?还是他们是兄弟姐妹? – martypdx
根本没有关系。组件A和B处于不同的层次结构中。 –