2

我正在使用淘汰组件和 postal.js 进行组件之间的通信。

我已经注册了两个组件,A 和 B。当页面加载时,我希望 A 向 B 发送消息。我有这个:

define(['postal',''text!./templateA.html''], function (postal, html) {
    function ComponentA() {
        postal.publish({
            channel: "channel1",
            topic: "topic1",
            data: "Hello!"
        });
    }    
    return { viewModel: ComponentA, template: html };
}

...

define(['postal',''text!./templateB.html''], function (postal, html) {
    function ComponentB() {
        postal.subscribe({
            channel: "channel1",
            topic: "topic1",
            callback: doSomething
        });
    }
    return { viewModel: ComponentB, template: html };
}

问题是有时组件 A 在组件 B 加载之前发送消息,因此准备好接收消息。因此消息丢失,组件 B 中的操作未执行。

编辑:

控制组件加载顺序的最佳方法是什么?

4

0 回答 0