我的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"
有什么想法可能意味着什么,或者我应该怎么做?谢谢!
答案 0 :(得分:0)
请尝试按照以下步骤操作:
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();
});
});`
现在尝试。...