关闭弹出窗口后刷新页面内容。离子3

时间:2018-07-31 19:30:46

标签: javascript angular typescript ionic-framework ionic3

我有一个应用程序选项卡,其中有4个选项卡,每个选项卡根据配置显示一些数据。该页面的标题包含一个带有设置选项的弹出框组件。 用户在设置上进行了一些配置并返回到某些标签页后,该页面必须刷新内容。

我正在使用ionViewDidEnter或ionViewWillEnter生命周期事件,并检查以前的设置是否已更改,但是只有当我切换到其他选项卡页面时,才可以捕获该事件。

标签页A

export class HomePage implements OnInit {
  ionViewDidEnter(){
    if(this.client.doClientChanged(this.clientName)){
      console.log("changed");
    }
    else{
      console.log("not changed");
    }
  }
  ionViewWillEnter(){
    console.log("test")
  }
}

标题组件

export class PrimeHeaderComponent {
  constructor(public popoverCtrl: PopoverController) {}

  presentPopover(event: any) {
    let popover = this.popoverCtrl.create(MenuPage);
    popover.present({
      ev: event
    });
  }
}

Popover组件

export class MenuPage {

  constructor(
    public viewCtrl: ViewController, private navCtrl: NavController) {}

  openConfig(){    
    this.navCtrl.push(ConfigPage);    
  }
}

选择配置后,我将返回上一页面,该页面仍显示弹出窗口,而当我关闭弹出窗口时,生命周期事件将不会发生任何事情。

1 个答案:

答案 0 :(得分:1)

使用popover controller中的.onDidDismiss()

let popover = this.popoverCtrl.create(MenuPage);

popover.onDidDismiss(() => {
  //your action here
});

popover.present({
  ev: event
});