一次性关闭多个modal页面

来源:6-3 通用组件之 Rest 模块的建立与逻辑添加

飞翔遁地

2018-12-27

老师问一下,如何一次性关闭多个ModalController页面?
场景,我现在从一个主页面ProfilePage 页面中打开A modalController 页面,然后再从A ModalController打开B modalController 页面,先需要在B中关闭所有的ModalController,直接回到ProfilePage页面中去,如何实现?
现代码如下:
ProfilePage:

  goEmergencyContact(){
    let modalCountry = this.modalCtrl.create('EmergencyContactPage');
    modalCountry.present();
  }

A:

  next() {
    let modalCountry = this.modalCtrl.create('EmergencyMobilePage');
    let option:NavOptions = {
      animate:false
    }
    modalCountry.onDidDismiss(result => {
      this.viewCtrl.dismiss({},"",option);
    });
    modalCountry.present();
  }

B :

  dismiss() {
    this.viewCtrl.dismiss();
  }

现在需要在中直接关闭所有的Modal页面,直接回到Profile页面,目前实现效果不好,,请问有什么好的实现方式吗?

写回答

1回答

Parry

2018-12-28

public dismissAllModal () {
       let activeModal = this.ionicApp._modalPortal.getActive();
       if (activeModal) {
           activeModal.dismiss().then(() => {
               this.dismissAllModal()
           });
       }
   }


this.viewCtrl.dismiss().then(_ => {
           this.dismissAllModal()
       })

0
1
飞翔遁地
老师,您好,按照这种方式关闭的话,会有多个关闭动画,我期望只有当前页面的关闭动画,当前页面关闭后直接去ProfilePage 页面能实现吗?
2018-12-29
共1条回复

快速上手Ionic3多平台开发企业级问答社区

新手可学,独立开发跨iOS/Android/微信平台项目

613 学习 · 750 问题

查看课程