【问题标题】:Ionic 2 app doesn't responde after modal dismissIonic 2 应用程序在模态关闭后没有响应
【发布时间】:2016-09-15 03:51:23
【问题描述】:

我的 Ionic 2 应用程序中有一个模式。在此模式中,单击一个按钮,会弹出一个确认提示(“您确定吗?”)。点击yes,我做了一些操作,然后调用这个方法关闭modal:

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

_viewCtrl 是我的类的属性,我在构造函数中这样定义:

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

我的问题是,在模式后面我有一个“3 标签页”,有点。一切正常,3 个选项卡都很好,我的模态还可以,它应该会关闭,问题是当模态被关闭时,3 个选项卡会中断!他们冻结在第二个选项卡上(这是调用模式的那个)!即使我点击标签 1 和 3,我也只能看到标签 2 的内容,我什么也做不了。

我很确定解雇前的操作应该不会有问题。我发现如果我注释掉this.close(); 部分,一切都会好起来的! modal 没有关闭,但是我可以手动关闭它(用同样的功能,这很奇怪!)然后我回到标签页,标签就很好了。

应用发生了什么?

附言。控制台没有显示错误!

【问题讨论】:

    标签: ionic-framework angular modal-dialog ionic2


    【解决方案1】:

    如果您在控制台中签入,您会看到模态叠加层仍然存在。这就是为什么当您点击应用上的任何按钮时,您没有任何反应,因为您点击了透明覆盖层。

    【讨论】:

    • 我明白了。那么解决办法是什么?
    【解决方案2】:

    我现在遇到了类似的问题,之前使用 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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-05-13
      • 1970-01-01
      • 2020-08-03
      • 2022-10-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-04
      相关资源
      最近更新 更多