1.问题描述:

因为目前有一个需求是 不在每一个页面都埋点的情况下,统计页面的打开次数

2.问题分析:

既然想要知道某一个页面是否打开,那么肯定需要去监听 页面打开的生命周期,根那么有什么办法可以在全局监听到某一个 页面的生命周期呢?

3.解决办法:

在 ionic 的 ionic-angular 包中,有一个工具类是 App ;
地址: https://ionicframework.com/docs/api/components/app/App/
对于它的描述是 :App is a utility class used in Ionic to get information about various aspects of an app

4.使用方式:

既然要全局监听,那么我们就在 app.component.ts 中使用

import {App} from "ionic-angular";

export class MyApp {
 constructor(public app: App,platform: Platform){
        //统计页面是否加载
    this.app.viewDidLoad.subscribe(res=>{
      console.log(res);
      console.log(res.component.name);
      // do something
    })
    }
}

由于我这个需求,所以只监听了页面 ionViewDidLoad 这个生命周期,,其他需求可以看文档实现. 比如全局关闭加载框(loading) 或对话框(toast)

5.实现结果

实现结果

本文固定链接: http://www.js-code.com/angularjs/angularjs_29128.html