Angular 2 性能 IE11 *ngFor

Angular 2 performance IE11 *ngFor

我正在尝试 Angular 2,我注意到在使用 *ngFor 超过 1500 个项目循环时,Internet Explorer 11 的性能非常慢。 IE11 大约需要 25 秒,而其他浏览器则不到 1 秒。

暂停调试器我注意到代码不断调用 es6-shim.js 中的 isNan 函数。 这里是调用堆栈:

这里有一个有效的 plnkr:http://plnkr.co/edit/sEujClHmuCbrydIiYQYL?p=preview。 代码很简单:

<ul *ngFor="#item of items">
    <li>Item: {{item.itemKey}}</li>
</ul>

//Load items simulating remote load
setTimeout(function(){
  for (let i = 0; i < 1500; i++) {
          self.items.push(new Item(i+""));
      }
},1000);

有人遇到同样的问题吗?任何提高性能的解决方法或技巧?

提前致谢。

问题是 IE 没有 Map 的本机实现。 polyfill 的 setget 函数非常慢(与它们的原生对应函数相比)并且占用大部分时间:

也许 - 或者希望 - Map 的其他 polyfill 比 es6-shim.

更快

更新:

我已经用 core-js 测试了您的代码,它的性能似乎更接近本机实现的性能。