Angular 2 - script5007:无法获取未定义或空引用的属性"apply"

Ren*_*lin 6 internet-explorer-11 angular

我创建了一个简单的项目:

ng new my-app
cd my-app
ng serve
Run Code Online (Sandbox Code Playgroud)

Chrome和Firefox没关系,但是当我在IE 11中执行时,它会返回此错误:SCRIPT5007

在此输入图像描述 在此输入图像描述

有人能帮我吗?

Ali*_*avi 18

这是CLI的发布而不是角度

在较新版本的ANGULAR - CLI中,src\polyfills.ts默认情况下已注释掉.

  1. 打开文件 src/polyfills.ts
  2. 取消评论这些文件并完成

浏览器POLYFILLS

/**IE9,IE10和IE11需要以下所有polyfill.**/

这是文件列表:

 import 'core-js/es6/symbol';
 import 'core-js/es6/object';
 import 'core-js/es6/function';
 import 'core-js/es6/parse-int';
 import 'core-js/es6/parse-float';
 import 'core-js/es6/number';
 import 'core-js/es6/math';
 import 'core-js/es6/string';
 import 'core-js/es6/date';
 import 'core-js/es6/array';
 import 'core-js/es6/regexp';
 import 'core-js/es6/map';
 import 'core-js/es6/set';
Run Code Online (Sandbox Code Playgroud)

  • 这应该是公认的正确答案. (3认同)

zhx*_*hxx 4

我发现这个问题可以在 Angular 2.4 中重现,您可以使用 Angular 2.2.x 或 2.3.x 修复此问题。我已经向 Angular 团队提交了一个问题,链接如下:https://github.com/angular/angular/issues/14592

===================================================

看来这不是角度的问题,而是角度cli的问题。请参考https://github.com/angular/angular-cli/issues/4862

正如 angular-cli 问题的答案所说,默认情况下,IE11 的 polyfill 被注释掉,您需要在 src\polyfills.ts 中启用 polyfill。