typescript - ionic 2 : Loading component doesn't always dismiss (randomly)

标签 typescript angular loading ionic2

问)有人知道 Ionic 2 中的 Loading 组件是坏了还是我傻了?

我正在尝试像这样使用 Ionic 2 中的 Loading 组件:

let loading = Loading.create({
  content: 'Loading: ',
  duration: 3000
});
nav.present(loading);

即使他们被设置为解雇自己,他们有时会出现双重(即屏幕上有 2 个叠加层,背景更暗)并且他们永远不会解雇。

这对我来说似乎很糟糕。

我试过保留一个全局变量并像这样解散每个变量:

  showLoading(nav: NavController) {
    if(!window.loadingOverlays) {
      window.loadingOverlays = [];
    }
    // only ever show one instance of the overlay.
    if(window.loadingOverlays && window.loadingOverlays.length > 0) {
      return;
    }

    let loading = Loading.create({
      content: 'Loading...'
    });
    nav.present(loading);
    window.loadingOverlays.push(loading);
  }

  hideLoading() {
    if(!window.loadingOverlays || window.loadingOverlays.length == 0) { 
      return; 
    }
    window.loadingOverlays.forEach((overlay) => {
      overlay.dismiss();
    });
    window.loadingOverlays = [];
  }

并添加到它并手动关闭它们,但这没有效果。

最佳答案

我刚刚遇到了像你这样的问题,我通过将代码放在 .then() 中的 dismiss() 之后解决了它 的 promise dismiss() 函数返回。

例如:overlay.dismiss().then(() => {/* 将您的代码放在这里 */})

关于typescript - ionic 2 : Loading component doesn't always dismiss (randomly),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36838983/

相关文章:

typescript - commonjs 的单个 .js 和 .d 文件

Angular CLI 和自动刷新

angular - MatDialog Angular 开放组件?

jquery - 在 JQuery Mobile 中加载消息

javascript - Ember JS 加载和错误子状态

javascript - 自定义 AngularJS 指令未注册

javascript - Angular - 当 observable 完成时,做一些事情

javascript - 如何在 typescript 中创建一个可选的对象键字符串?

javascript - 合并来自多个 rxjs observables 的结果

class - Java动态类加载在Windows上失败,但在Linux上工作正常