问)有人知道 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 = [];
  }

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

最佳答案

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

例如:overlay.dismiss().then(() => { /* PUT YOUR CODE HERE */ })

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

10-11 23:40