IE10/11 存在一些性能问题。以下 plunker 解释了我们在使用自定义元素重复表格行时性能下降的一些情况。
code
在这个 plunker 示例中,我们在 chrome 中总共需要 68 毫秒来渲染整个表格。在 IE11 中,我们得到 280 毫秒,并且看到每行的渲染速度提高了 100%。虽然 chrome 每毫秒最多执行 3 行,但 IE 每 2ms 执行一次。
这个 plunkr 是我们应用程序的基本模型。在我们的应用程序中,我们重复以下模板,该模板要重得多。它涉及样式计算和根据用户设置和权限级别显示/隐藏绑定。
第二行(扩展信息)是 if.bound 所以它最初没有被绘制。
在我们的应用程序中,如果我们渲染一个包含 100 行模板的视图,chrome 会在 587 毫秒内渲染整个表格。IE11 在 3779 毫秒内完成。Edge 用了 1283 毫秒,而 Firefox 用了 909 毫秒。
在 IE11 中每一行大约需要 30ms,
IE11 使用 aurelia-template 表现得这么差有什么原因吗?我们可以做些什么来提高 IE 渲染速度?我曾尝试将绑定设置为 oneTime,但这并没有起到多大作用。您是否应该避免在重复和 IE 中无法正常工作的自定义元素中执行某些操作。由于模板很大,我们想要自定义元素,因为它具有可重用性和代码管理。