1.问题描述:
因为目前有一个需求是 不在每一个页面都埋点的情况下,统计页面的打开次数
。
2.问题分析:
既然想要知道某一个页面是否打开,那么肯定需要去监听 页面打开的生命周期,根那么有什么办法可以在全局监听到某一个 页面的生命周期呢?
3.解决办法:
在 ionic 的 ionic-angular
包中,有一个工具类是 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.实现结果