我正在使用淘汰组件和 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 中的操作未执行。
编辑:
控制组件加载顺序的最佳方法是什么?