Ionic events not working correctly between lazy-loaded modules

As I’ve created an ionic app, with basic lazy-loading implementation. Suppose for the sake of an example, my app contains 2 lazy-loaded pages, Page1 & Page2

So in the constructor of page1.ts I’ve published the event named hello, and inside the constructor of page2.ts I’ve subscribed to the event named hello.

My app starts with Page1.

But after running up the app, I found that my event isn’t been subscribed on publishing the event hello directly from the constructor of Page1. Can you please help me out with this, that why my subscribe method (inside Page2 constructor) isn’t listening to the published event from Page1.

Sample Code:
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) => {
        console.log('subscribed to hello with data', data)
    });
}

As soon as my app starts, only Published logs into the console. and nothing happens after that. But according to my understanding of ionic events, the subscribe method of Page2 should also work after publishing of that event. Isn’t it? Please help me out with this.

Thanks.