首页 > Angularjs2.0,Android开发,web前端 > Angular2 遭遇Uncaught TypeError: Cannot read property 'apply' of undefined

Angular2 遭遇Uncaught TypeError: Cannot read property 'apply' of undefined

今天联机调试 android , 在 chrome的chrome://inspect中Remote Target

LOCALHOST点开对应的设备及对应的app, 发现console里面提示错误为:

Uncaught TypeError: Cannot read property 'apply' of undefined

找到对应的出错代码位置为:

function combine(options) {
     return (_a = ((Object))).assign.apply(_a, [{}].concat(options));
     var _a;
}

百思不得其解,求助各方后,得出的结论是 有些数组的方法, es6 不向下兼容。有可能是android设备里面的webview浏览器版本过低。
于是乎,在index页面引入//cdn.bootcss.com/es6-shim/0.35.3/es6-shim.min.js
问题解决。

此问题后来又出现过一次, 是chrome页面显示正常, ie11页面显示空白,console里是同样提示。
于是,在index页面引入在index页面引入//cdn.bootcss.com/es6-shim/0.35.3/es6-shim.min.js。 或者 ng2 cli生成的 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';

的注释去掉。ng serve
问题解决

上一篇: js 自带的 map() 方法

下一篇: 给Cordova build出的apk签名