如何将点击时的数据传递到模态的背景以在 onDidDismiss 回调函数中接收?离子 3 角 6



如何通过单击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

谢谢!

最新更新