Angular 2 after update I get this error: Cannot read property 'zone' of undefined
Angular 2 after update I get this error: Cannot read property 'zone' of undefined
我刚刚将 angular 2 从 beta 9 更新到 beta 11(或 beta 10),现在我在控制台中收到此错误:Uncaught TypeError: Cannot read property 'zone' of undefined
in angular2-polyfills.js:142
没有更改任何代码.
angular2-polyfills.js:142
控制台报错的那一行是:
task.zone.cancelTask(task);
我正在使用纯 js。
在 index.html 中,我包含了这 4 个 js 文件:
<script src="libs/es6-shim/es6-shim.min.js"></script>
<script src="libs/angular/2.0.0-beta.11/angular2-polyfills.js"></script>
<script src="libs/angular/2.0.0-beta.11/Rx.umd.js"></script>
<script src="libs/angular/2.0.0-beta.11/angular2-all.umd.js"></script>
我使用的所有 ngZone 相关代码都是为了使 class 的方法可以从外部 js 访问。
window.PushService = {
onCallFromOutside: this.onCallFromOutside.bind(this),
zone: _ngZone
};
此外,我尝试注释所有使用 ngZone 的代码,但错误仍然存在。
与什么有关以及如何解决此错误?
beta11似乎在区域方面存在一些问题。请参阅 angular.io 网站 (https://angular.io/docs/ts/latest/) 上的消息:
The current beta.11 release has known bugs relating to significant changes to the zones subsystem. All apps will report an error to the console:
Uncaught TypeError: Cannot read property 'zone' of undefined
The app will run unimpeded but it is disconcerting. We hope to have this and other bugs repaired by beta.12. Thanks for your patience.
我将 lite-server 更改为 live-server,错误消失了。此外,应用程序上的精简服务器更新不会导致页面刷新,实时服务器页面会自动刷新。
我可以确认在 2.0.0-beta.12 中问题已得到解决。
一旦你更新到 angular2@2.0.0-beta.12,请确保你已经更新了你的 zone.js@^0.6.6,一旦你更新了这些依赖项我就可以确认 zone.js 错误将消失。希望这会有所帮助!
至于我(我使用的是最新的 Angular CLI)
main.ts
中的导入区有帮助
import { enableProdMode } from '@angular/core';
import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
// here
import 'zone.js/dist/zone';
import 'rxjs/add/operator/map'
import { AppModule } from './app/app.module';
import { environment } from './environments/environment';
if (environment.production) {
enableProdMode();
}
platformBrowserDynamic().bootstrapModule(AppModule);
我刚刚将 angular 2 从 beta 9 更新到 beta 11(或 beta 10),现在我在控制台中收到此错误:Uncaught TypeError: Cannot read property 'zone' of undefined
in angular2-polyfills.js:142
没有更改任何代码.
angular2-polyfills.js:142
控制台报错的那一行是:
task.zone.cancelTask(task);
我正在使用纯 js。
在 index.html 中,我包含了这 4 个 js 文件:
<script src="libs/es6-shim/es6-shim.min.js"></script>
<script src="libs/angular/2.0.0-beta.11/angular2-polyfills.js"></script>
<script src="libs/angular/2.0.0-beta.11/Rx.umd.js"></script>
<script src="libs/angular/2.0.0-beta.11/angular2-all.umd.js"></script>
我使用的所有 ngZone 相关代码都是为了使 class 的方法可以从外部 js 访问。
window.PushService = {
onCallFromOutside: this.onCallFromOutside.bind(this),
zone: _ngZone
};
此外,我尝试注释所有使用 ngZone 的代码,但错误仍然存在。
与什么有关以及如何解决此错误?
beta11似乎在区域方面存在一些问题。请参阅 angular.io 网站 (https://angular.io/docs/ts/latest/) 上的消息:
The current beta.11 release has known bugs relating to significant changes to the zones subsystem. All apps will report an error to the console:
Uncaught TypeError: Cannot read property 'zone' of undefined
The app will run unimpeded but it is disconcerting. We hope to have this and other bugs repaired by beta.12. Thanks for your patience.
我将 lite-server 更改为 live-server,错误消失了。此外,应用程序上的精简服务器更新不会导致页面刷新,实时服务器页面会自动刷新。
我可以确认在 2.0.0-beta.12 中问题已得到解决。
一旦你更新到 angular2@2.0.0-beta.12,请确保你已经更新了你的 zone.js@^0.6.6,一旦你更新了这些依赖项我就可以确认 zone.js 错误将消失。希望这会有所帮助!
至于我(我使用的是最新的 Angular CLI)
main.ts
中的导入区有帮助
import { enableProdMode } from '@angular/core';
import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
// here
import 'zone.js/dist/zone';
import 'rxjs/add/operator/map'
import { AppModule } from './app/app.module';
import { environment } from './environments/environment';
if (environment.production) {
enableProdMode();
}
platformBrowserDynamic().bootstrapModule(AppModule);