@moberwasserlechner wrote:
Hi,
I recently upgraded my 35+ page app to use lazy loading and overall the upgrade was easy and the result looks very good.
Note: I used a npm script to generated most artifacts, which I tweeted about last weekend. It might help if you not already seen it.
But I ran into a rather big problem with Ionic's buildin publish-subscribe style eventbus. It's nice to have sth in the framework and I use it mostly for publishing navigation events with multiple navController target.
Unfortunatly it stopped working after the upgrade.
I think the problem was caused new instances of Events wher injected into my pages instead of a singleton.
Fix 1:
Add the Events as provider to yourapp/app.component.ts
. This wasn't needed before lazy loading!import {Component, OnInit, ViewChild} from "@angular/core"; import {AuthService} from "../providers/auth-service"; import {NetworkService} from "../providers/network-service"; import {WindowService} from "../providers/window-service"; import {Events} from "ionic-angular"; @Component({ templateUrl: 'app.html', providers: [AuthService, NetworkService, WindowService, Events] }) export class AppComponent implements OnInit {
This fixed most of my navigation issues but one problem with the PopoverController stayed.
presentPopoverActions(event: Event) { this.actionPopover = this.popoverCtrl.create('ActionPopoverPage', {options: options}); this.actionPopover.present({ev: event}); }
ActionPopoverPage
requires a injected instance of Events. This stays broken, although I was able to use another approach.Maybe any one had that problem as well and can point me into a direction.
Thanks and BR,
Michael
Posts: 1
Participants: 1