当模态对话框被关闭时,哪种生命周期方法在 ionic 中调用

Which life cycle method called in ionic when a modal dialog got dismissed

我有一个来自组件 A 的 component A 我在关闭 modal dialog 我想捕获组件 A 中的事件时正在调用模态对话框。但似乎 component A 中没有触发事件。到目前为止,我尝试在离子生命​​周期方法中记录任何提示将不胜感激..

在这里,我通过 this.navCtrl.pop()

关闭模态对话框
ionViewDidEnter() {
    alert("ionViewDidEnter")

  }

  ionViewWillLeave() {
    alert("ionViewWillLeave")

  }

  ionViewWillEnter() {
    alert("ionViewWillEnter")

  }

  ionViewDidLeave() {
    alert("ionViewDidLeave")

  }
  ionViewWillUnload() {
     alert("ionViewWillUnload")

  }

  ionViewDidLoad() {

    alert("ionViewDidLoad")
    }

试试这个。

 let modal = this.modalCtrl.create('Anymodal');
    modal.onDidDismiss(() => {
    // Call back logic here       
});
modal.present();

创建模态对话框后必须使用模态参考

let modalDialog = this.modalCtrl.create(ComponentA);

然后你必须处理模态引用的 onDidDismiss 事件,比如

modalDialog.onDidDismiss = ((data) => { //your action after dismiss }})

并且在模态对话框组件中,你必须像

这样调用 dismiss
this.viewCtrl.dismiss(<data you want to pass>);

更多参考可以看这里https://forum.ionicframework.com/t/ionic-3-get-data-from-modal/105959

正如前面的答案所暗示的那样,parent 中没有触发任何生命周期事件,因为它没有发生变化,模态出现在它上面然后从它上面消失,使 parent 不受影响,但是您可以从 parent 中触发解雇功能来与您的 parent 对话。

对于 Ionic 4 和 5,您将属性声明到模态组件 TS 内的 dismiss 函数中,例如:

this.modal.dismiss({
    category_selected: this.exampleVariable
});

然后在您的 parent 上,您将使用 then 指定 onDidDismiss 承诺,即:

modal.onDidDismiss().then((data) => {
    console.log(data);
    // { category_selected: foo }
});