1

我的 NgZone 似乎不再工作了。我正在使用 Ionic、Angular 和 Firebase 构建一个应用程序。

它产生一个错误:

未处理的承诺拒绝:缺少命令错误;区域:; 任务:Promise.then;值:缺少命令错误未定义

我已经在我的项目中使用了几个月,完全没有问题,我在很多地方使用它,但突然之间它不再起作用了。

我通常导入它:

import { Component, Input, NgZone, ViewChild, Injectable } from '@angular/core';

在构造函数中

public zone: NgZone,

然后像这样引用它:

this.zone = new NgZone({});

this.afAuth.auth.onAuthStateChanged((user) => {
  this.zone.run(() => {
    if (user) {
      this.rootPage = HomePage
    } else {
      this.rootPage = LoginPage
      console.log("Not logged in")
    }
    this.splashScreen.hide();
  });
});

但它不再起作用了......

package.json调用以下依赖项:

"zone.js": "0.8.18"

任何想法这可能意味着什么或我应该做什么?谢谢!

4

1 回答 1

1

请尝试按照以下步骤操作:

1-导入 NgZone import { Component, NgZone, OnInit} from '@angular/core';

2-在类内的构造函数中 constructor(private ngZone: NgZone) {}

3-删除此行this.zone = new NgZone({});

4-保留这些代码行

`this.afAuth.auth.onAuthStateChanged((user) => {
  this.zone.run(() => {
    if (user) {
      this.rootPage = HomePage
    } else {
      this.rootPage = LoginPage
      console.log("Not logged in")
    }
    this.splashScreen.hide();
  });
});`

现在试试....

于 2018-09-26T06:33:34.933 回答