我有一个来自组件A的component A,当我想要捕获组件A中的事件时,我要调用一个模态对话框。但在component A中似乎没有触发事件。到目前为止,我尝试在ionic生命周期方法中使用日志记录,如果有任何提示,我将非常感谢。
在这里,我忽略了this.navCtrl.pop()的模式对话框
ionViewDidEnter() {
alert("ionViewDidEnter")
}
ionViewWillLeave() {
alert("ionViewWillLeave")
}
ionViewWillEnter() {
alert("ionViewWillEnter")
}
ionViewDidLeave() {
alert("ionViewDidLeave")
}
ionViewWillUnload() {
alert("ionViewWillUnload")
}
ionViewDidLoad() {
alert("ionViewDidLoad")
}发布于 2019-03-26 12:16:34
试试这个。
let modal = this.modalCtrl.create('Anymodal');
modal.onDidDismiss(() => {
// Call back logic here
});
modal.present();发布于 2019-03-26 16:02:16
在创建模式对话框后,您必须采用模式引用,如下所示
let modalDialog = this.modalCtrl.create(ComponentA);然后,您必须处理模态引用的onDidDismiss事件,如下所示
modalDialog.onDidDismiss = ((data) => { //your action after dismiss }})在模式对话框组件中,您必须调用dismiss like
this.viewCtrl.dismiss(<data you want to pass>);有关更多参考信息,请查看此处https://forum.ionicframework.com/t/ionic-3-get-data-from-modal/105959
发布于 2020-02-25 18:36:54
正如前面的回答所暗示的,在父级中没有触发生命周期事件,因为它没有变化,模态出现在它的顶部,然后被从它中移除,留下父级不受影响,但是你可以从父级中触发dismiss函数来与您的父级对话。
对于Ionic 4和5,您可以在组件TS中为您的模式声明您的属性,例如:
this.modal.dismiss({
category_selected: this.exampleVariable
});然后在您的父级上,您可以使用then指定onDidDismiss promise,即:
modal.onDidDismiss().then((data) => {
console.log(data);
// { category_selected: foo }
});https://stackoverflow.com/questions/55349462
复制相似问题