如何在ractive组件之间进行通信?

时间:2016-04-21 00:37:53

标签: components ractivejs

我遇到了一个问题,我想在不同的ractI&ve;组件中调用函数。 例如,我有2个ractive组件A和B,我想从另一个ractive组件B中调用A.xyz() fintion。

2 个答案:

答案 0 :(得分:0)

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

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

在组件B上抓住此事件

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

答案 1 :(得分:0)

您可以尝试在Ractive root上触发消息

组件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
    });
  }

});