【发布时间】:2018-02-21 03:47:47
【问题描述】:
我创建了一个具有基本延迟加载实现的离子应用程序。假设为了一个例子,我的应用包含 2 个 lazy-loaded 页面,Page1 & Page2
所以在 page1.ts 的构造函数中,我发布了一个名为 hello 的事件,并且在 的构造函数中>page2.ts,我已经订阅了那个特定的活动。
我的应用以 Page1 开头。
但是在运行应用程序后,我发现我的事件没有被订阅直接从Page1的构造函数发布事件hello。你能帮我解决这个问题吗,为什么我的订阅方法(在Page2 构造函数中)没有监听来自Page1 的已发布事件。
示例代码:
page1.ts(应用以此开头)
constructor(public events: Events) {
this.events.publish('hello', 'some data');
console.log('Published');
}
page2.ts
constructor(public events: Events) {
this.events.subscribe('hello', (data) => {
// This isn't working in case of lazy-loading
console.log('subscribed to hello with data', data);
});
}
我的应用程序启动后,只有Published 会登录控制台。之后什么也没有发生。但根据我对离子事件的理解,Page2 的订阅方法在该事件发布后也应该可以工作。不是吗?请帮我解决这个问题。
【问题讨论】:
标签: angular ionic-framework events ionic3 dom-events