我有一个用例,我需要检测向用户显示的当前视图,以报告给Google Analytics。我知道 Ionic 2 的视图生命周期钩子,但这不是我所追求的。
想知道是否有办法"钩住"到ionic的导航系统,以订阅导航事件并在用户每次导航应用程序时获取路线或视图对象。由于 Ionic 2 没有使用 Angular2 的Router
因此我无法使用以下内容:
export class AppComponent {
private currentRoute:string;
constructor(_router:Router,
_location:Location) {
_router.events.subscribe((event:Event) => {
if (event instanceof NavigationEnd) {
// When the route is '/', location.path actually returns ''.
let newRoute = this._location.path() || '/';
// If the route has changed, send the new route to analytics.
if (this.currentRoute != newRoute) {
ga('send', 'pageview', newRoute);
this.currentRoute = newRoute;
}
}
});
}
}
有谁知道如何订阅 Ionic 2 应用程序中的导航更改?
截至 wrighting 时,我目前的设置是:
Ionic Framework Version: 2.0.0-rc.4
Ionic CLI Version: 2.1.13
Ionic App Lib Version: 2.1.7
Ionic App Scripts Version: 0.0.48
您可以订阅文档中描述App
生命周期事件
更具体地说,您需要从ionic-angular
注入App
,然后在需要的地方添加如下代码:
this.app.viewWillEnter.subscribe(viewCtrl => {
console.log('Entering new view')
console.log(viewCtrl)
})