模态解雇后,Ionic 2应用程序无响应

时间:2016-05-18 14:58:51

标签: ionic-framework angular modal-dialog ionic2

我的Ionic 2应用程序中有一个模态。在此模式中,单击按钮,弹出确认提示("您确定吗?")。通过单击是,我执行某些操作,然后通过调用此方法来解除模态:

close() {
    this._viewCtrl.dismiss();
}

_viewCtrl是我的类的属性,我在构造函数中以这种方式定义:

constructor(
          public _nav: NavController,
          public _viewCtrl: ViewController,
          public _profile: Profile,
          params: NavParams) { ... }

我的问题是在模态背后我有一个" 3 Tabs Page"等等。一切正常,3个标签很好,我的模态是好的,它应该解散,问题是,当模态被解除时,3个标签打破!它们冻结在第二个选项卡上(这是调用模态的选项卡)!即使我单击选项卡1和3,我只看到选项卡2的内容,但我什么也做不了。

我很确定解雇前的操作不应该成为问题。我发现如果我注释掉this.close();部分,一切都很顺利!模态不会关闭,但我可以手动关闭它(具有相同功能,这是奇怪的事情!)然后我返回标签页并且标签是很好。

应用程序发生了什么?

PS。控制台中没有显示错误!

2 个答案:

答案 0 :(得分:0)

如果您在控制台中检查,您将看到模态覆盖仍然存在。这就是为什么当你点击你的应用程序上的任何按钮时,你没有任何反应,因为你点击透明覆盖层。

答案 1 :(得分:0)

我现在遇到了类似的问题,我在Ionic 2 Beta 6之前解雇了Modal,但是在最新的Beta 10上,它已经无法使用了。

我的逻辑如何运作:

  • 执行服务器调用(显示Loading组件的进度
  • 当呼叫从服务器返回时,然后解除Loading然后Modal,但以同步方式呼叫

现在这不适用于最新的Beta版。我必须做的是:

this.loading.onDismiss(() => {
    this.viewController.dismiss();
});
this.loading.dismiss();

我从这里得到了这个解决方法: https://github.com/driftyco/ionic/issues/6325