Tja*_*alt 67 javascript typescript angular
将angular2包升级到以下版本后,出现以下错误:
错误:Unable to get property 'apply' of undefined or null reference
我只在IE11中收到此错误,在Chrome中它运行正常.
我做了一些挖掘,导致错误的行在angular/common模块中:
function combine(options) {
return (_a = ((Object))).assign.apply(_a, [{}].concat(options));
var _a;
}
Run Code Online (Sandbox Code Playgroud)
打字稿文件:
@ angular/common/src/pipes/intl.ts第175行
function combine(options: Intl.DateTimeFormatOptions[]): Intl.DateTimeFormatOptions {
return (<any>Object).assign({}, ...options);
}
Run Code Online (Sandbox Code Playgroud)
调用该combine函数的代码是
@ angular/common/src/pipes/intl.ts第48行:
'yMMMdjms': datePartGetterFactory(combine([
UPDATE
似乎实际的错误是.assignIE11中没有实现该方法
spo*_*ida 98
如果您正在使用@angular/cli并打算支持IE9-11,则可以编辑该src/polyfills.ts文件以启用相应的polyfill.所需的polyfills已经在文件中,因此您只需取消注释即可.
默认情况下,@angular/cli项目目标"常青"浏览器开箱即用,这意味着IE不会立即受支持,但您可以通过导入所需功能的polyfill来添加支持.
Sta*_*kov 27
Angular依赖于core-js.因此,您可以使用Object.assign polyfills:
import "core-js/client/shim"; // or load it before other angular2 & zone.js stuff
import "zone.js";
import "reflect-metadata";
Run Code Online (Sandbox Code Playgroud)
Ald*_*cor 21
根据MDN Object.assign()浏览器兼容性, IE不受支持.
您可以使用npm Object.assign通过MDN导入polyfill.(mdn-polyfills)
跑:
npm i mdn-polyfills --save
使用:
import 'mdn-polyfills/Object.assign';
Mik*_*ill 21
Angular Materials教程没有提到这个问题,这真令人讨厌.任何使用IE11并遵循他们的教程的人都会遇到这个问题.
正如其他人所提到的,解决方案是简单地取消注释项目polyfills.ts文件中的这些行.
但实际上,这应该在他们的教程中提到过.
我花了太多时间谷歌搜索找到这些角度问题的解决方案......
小智 10
在IE浏览器中工作
第1步:运行:npm i mdn-polyfills --save
第2步:打开 polyfills.ts
步骤3:取消注释/**IE9,IE10和IE11下的文件中的导入需要以下所有polyfill.**/
在您的polyfills.ts添加:
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)
如果有人在使用IE的dotnet core 2.0 Angular模板中出现此错误,这就是我解决它的方法.
安装core-js
npm install core-js --save
在ClientApp/boot.browser.ts的顶部添加此行
import'core-js/client/shim';
| 归档时间: |
|
| 查看次数: |
31949 次 |
| 最近记录: |