听取ionViewCanLeave中的模态消除

时间:2018-06-18 19:09:24

标签: angular typescript ionic3

我正在尝试在路由更改期间为表单呈现模式,但是如何将结果返回到ionViewCanLeave则会遇到困难。

ionViewCanLeave(): boolean {
    debugger;
    let modal = this.modalCtrl.create(this.cancelModal);
    let returnStatement = null;
    modal.onDidDismiss(data => {
      debugger;
      returnStatement = data;
    });
    modal.present();
    if(returnStatement !== null ){
      return returnStatement;
    }
  }

在调用ionViewCanLeave的return语句之前,我如何等待onDidDismiss触发?

1 个答案:

答案 0 :(得分:1)

我认为你最好改变你的模式来做你想做的事。

据我所知,没有办法阻止ionViewCanLeave()返回。

因此,在模态onDidDismiss 之后,再创建另一个异步执行离开页面功能的功能,如下所示。

checkCanLeave(){
  debugger;
  let modal = this.modalCtrl.create(this.cancelModal);
  modal.onDidDismiss(data => {
    debugger;
    // Put on your leave page function like 'this.navCtrl.pop()' orr 'this.viewCtrl.dismiss'
  });
  modal.present();
}