我有一个用例,我需要检测向用户显示的当前视图以向Google Analytics报告。我知道Ionic 2's View Lifecycle hooks但这不是我所追求的。
如果有办法解决问题,我们想知道什么?进入离子导航系统,每次用户导航应用程序时,订阅导航事件并获取路线或查看对象。由于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应用程序中订阅导航更改吗?
我目前的正确设置是:
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
答案 0 :(得分:2)
您可以订阅docs
中描述的App
生命周期事件
更具体地说,您需要从App
注入ionic-angular
,然后在需要时添加这样的代码:
this.app.viewWillEnter.subscribe(viewCtrl => {
console.log('Entering new view')
console.log(viewCtrl)
})