【问题标题】:After Angular 6 Update this._zone.onMicrotaskEmpty undefinedAngular 6 更新后 this._zone.onMicrotaskEmpty undefined
【发布时间】:2018-11-27 01:21:07
【问题描述】:

在将应用程序更新到 Angular 6 后,我在测试执行期间遇到错误

TypeError: Cannot read property 'subscribe' of undefined
        at new ApplicationRef node_modules/@angular/core/fesm5/core.js:4322:1)
        at _createClass node_modules/@angular/core/fesm5/core.js:8126:1)
        at _createProviderInstance$1 node_modules/@angular/core/fesm5/core.js:8088:1)
        at initNgModule node_modules/@angular/core/fesm5/core.js:8024:1)
        at new NgModuleRef_ node_modules/@angular/core/fesm5/core.js:8747:1)
        at createNgModuleRef node_modules/@angular/core/fesm5/core.js:8736:1)
        at Object.debugCreateNgModuleRef [as createNgModuleRef] node_modules/@angular/core/fesm5/core.js:10561:1)
        at NgModuleFactory_.push.../node_modules/@angular/core/fesm5/core.js.NgModuleFactory_.create node_modules/@angular/core/fesm5/core.js:11263:1)

上面说的是

this._zone.onMicrotaskEmpty

未定义。

我的测试使用

执行一些在 angular 之外运行的代码
this._ngZone.runOutsideAngular();

有人知道如何解决这个问题吗?

【问题讨论】:

  • 你也更新了 zone.js 包吗?
  • 是的,我更新到了0.8.26版本
  • @CelilUzunel 你找到解决办法了吗

标签: angular frontend zone zone.js ngzone


【解决方案1】:

如果你调用this._ngZone.runOutsideAngular();,它不会在ngZone里面,所以你不会得到this._zone.onMicrotaskEmpty。这个发射器只会在ngZone内部发射。

【讨论】:

    猜你喜欢
    • 2018-06-20
    • 2018-12-19
    • 1970-01-01
    • 1970-01-01
    • 2019-02-23
    • 1970-01-01
    • 2018-10-20
    • 1970-01-01
    • 2018-10-16
    相关资源
    最近更新 更多