我有一个应用程序选项卡,其中有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);
}
}
选择配置后,我将返回上一页面,该页面仍显示弹出窗口,而当我关闭弹出窗口时,生命周期事件将不会发生任何事情。
答案 0 :(得分:1)
使用popover controller中的.onDidDismiss()
let popover = this.popoverCtrl.create(MenuPage);
popover.onDidDismiss(() => {
//your action here
});
popover.present({
ev: event
});