在Angular2中,我们可以订阅路由器事件,如下所示:
router.events.subscribe((event: RouterEvent) => { /* detects route/navigation change*/
//some logic to show loading image
});
如何翻译以上代码以用于离子2?
我不确定您要实现的目标,但是您可以通过在app.components.ts
中获得NavController
的引用,然后订阅此类期望的事件:
allEvents = Observable.merge(
this.navController.viewDidLoad,
this.navController.viewWillEnter,
this.navController.viewDidEnter,
this.navController.viewWillLeave,
this.navController.viewDidLeave,
this.navController.viewWillUnload);
allEvents.subscribe((e) => {
console.log(e);
});
请注意,要在app.component.ts
文件中获取NavController
实例,您需要执行此类操作:
@Component({
templateUrl: 'app.html'
})
export class MyApp {
@ViewChild(Nav) navCtrl: Nav;
//...
}