繁体   English   中英

当模态对话框被解除时,哪个生命周期方法在 ionic 中调用

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

我有一个component A的成分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

正如前面的答案所提到的,在父级中没有触发生命周期事件,因为它没有发生变异,模态出现在它上面然后被解除,父级不受影响,但您可以从父级内部触发解除功能进行交谈可以这么说给你的父母。

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

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

然后在你的父母身上,你可以用then指定 onDidDismiss 承诺,即:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM