#angular #ionic-framework #ionic3 #angular6
#angular #ionic-framework #ionic3 #angular6
Вопрос:
Как я могу передать данные в onDidDismiss модала, нажав на фон модала?
Ответ №1:
После некоторых исследований я не могу найти ответ на вопрос заголовка. Итак, я опубликую здесь, как я решил эту проблему и получил данные модала в функции onDidDismiss на странице модального вызова:
На странице вызывающего абонента:
@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
Спасибо!