Angular 在前景或背景中检测视图。IonViewDiCenter,ionViewWillLeave未调用

Angular 在前景或背景中检测视图。IonViewDiCenter,ionViewWillLeave未调用,angular,ionic-framework,ionic2,ionic3,Angular,Ionic Framework,Ionic2,Ionic3,我试图检测我的爱奥尼亚页面是在前台还是在后台 我想在警报位于视图顶部或模态打开并覆盖父视图时执行一些代码。以及检测它们何时被解除以及视图何时返回顶部 ionViewDidEnter和ionViewWillLeave都不会被调用,有没有一种优雅的方法不需要在每个单独的弹出窗口和模式中处理它 ionViewDidEnter(){ debugger; //code here } ionViewWillLeave(){ debugger; //code

我试图检测我的爱奥尼亚页面是在前台还是在后台

我想在警报位于视图顶部或模态打开并覆盖父视图时执行一些代码。以及检测它们何时被解除以及视图何时返回顶部

ionViewDidEnter和ionViewWillLeave都不会被调用,有没有一种优雅的方法不需要在每个单独的弹出窗口和模式中处理它

  ionViewDidEnter(){
    debugger;
    //code here
  }
  
  ionViewWillLeave(){
    debugger;
    //code here
  }
IonViewDiCenter()&ionViewWillLeave()事件是页面生命周期事件,因此不打算在应用程序在前台和后台之间移动时触发

Cordova提供暂停和恢复事件,当应用程序分别进入后台和前台时触发。实现这一点的优雅方法是使用在app.component文件中注册事件

您可以导入平台,在构造函数中提供别名,然后通过以下方式注册事件:

import { Platform } from 'ionic-angular';

constructor(public plt: Platform)

this.plt.pause().then(() => {});

这些是在一个页面中执行的页面事件。它们不会检测是否出现弹出窗口或模式视图。如果您共享更多代码,您的问题可能会有解决方案。为此,您应该选择
可观察项。