我有一个来自组件A的component A
,我在解散我想捕获组件A中的事件的modal dialog
时正在调用模式对话框。但是看来component A
中没有触发任何事件。到目前为止,我尝试使用离子生命周期方法进行日志记录。任何提示将不胜感激。
在这里,我通过this.navCtrl.pop()
关闭了模式对话框
ionViewDidEnter() {
alert("ionViewDidEnter")
}
ionViewWillLeave() {
alert("ionViewWillLeave")
}
ionViewWillEnter() {
alert("ionViewWillEnter")
}
ionViewDidLeave() {
alert("ionViewDidLeave")
}
ionViewWillUnload() {
alert("ionViewWillUnload")
}
ionViewDidLoad() {
alert("ionViewDidLoad")
}
答案 0 :(得分:1)
尝试一下。
DECLARE @TABLE TABLE (v INT)
INSERT INTO @TABLE SELECT 2
INSERT INTO @TABLE SELECT 10
INSERT INTO @TABLE SELECT 20
INSERT INTO @TABLE SELECT 10
SELECT SUM(v) AS [SUM] FROM @TABLE
答案 1 :(得分:1)
创建像
这样的模态对话框后,您必须获取模态参考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
答案 2 :(得分:0)
正如前面的答案所暗示的,父级中没有生命周期事件,因为它没有发生突变,模态出现在它的顶部,然后从中退出,而父级不受影响,但是您可以从内部触发dismiss函数。父母与您的父母交谈。
对于Ionic 4和5,您可以在模态组件TS内部的dismiss函数中声明属性,例如:
this.modal.dismiss({
category_selected: this.exampleVariable
});
然后在您的父级上,您可以使用then
指定onDidDismiss承诺,即:
modal.onDidDismiss().then((data) => {
console.log(data);
// { category_selected: foo }
});