如何在 Ionic 2 中自动检测视图更改



我有一个用例,我需要检测向用户显示的当前视图,以报告给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)
})

相关内容

  • 没有找到相关文章

最新更新