如何通过单击modal的背景将数据传递给modal的onDidDismiss?
经过一番研究,我找不到标题问题的答案。所以我将在这里发布我如何解决这个问题,并在模态的调用程序页面上的onDidDismiss函数上收到modal的数据:
在呼叫者页面上:
@IonicPage()
@Component({...})
export class ExamplePage {
constructor(...){...}
private _showModal() {
let modal = this._modalCtrl.create(
'ModalPage',
{...},
{
showBackdrop: true,
enableBackdropDismiss: false,
});
modal.present();
modal.onDidDismiss((res)=>{
console.log("_showModal.modal.onDidDismiss: ", res);
});
}
}
在模态的页面上:
@IonicPage()
@Component({...})
export class ModalPage{
constructor(...){...}
ionViewDidLoad() {
let _modal = this._elRef.nativeElement;
while (_modal.tagName != "ION-MODAL") {
_modal = _modal.parentNode;
}
let _unlistenBackdrop = this._renderer.listen(_modal.querySelector('ion-backdrop'), "click", e=>{
this._dismiss();
});
}
private _dismiss(){
let obj = {};
// ... feed the object with whatever you need;
obj = {test: true};
this._viewCtrl.dismiss(obj);
}
}
希望能帮助一些带着同样疑问来到这里的编码人员。 :)
如果有人知道达到相同结果的更好方法,请将其发布在下面的答案中。 ;D
谢谢!