gpt4 book ai didi

internet-explorer - IE 的 foreach 更快

转载 作者:行者123 更新时间:2023-12-04 02:52:36 25 4
gpt4 key购买 nike

我使用 knockout foreach 绑定(bind)来填充 UL。每次滚动到末尾后,我都会获取接下来的 25 个项目并将其添加到 UL。在 Chrome(最好)和 Firefox(稍慢)中,一切都运行得非常快,但 IE 10 显示与 Chrome 相同的数据所需的时间大约是 8 倍。要显示具有所有绑定(bind)的所有数据,Chrome 需要大约 50 毫秒。 IE 差不多要 400。

有没有办法加快IE渲染?是否有某种方法可以手动插入项目并应用绑定(bind),如果它会使它更快。

我知道我不会从列表中删除任何元素。我只能替换整个列表。有什么方法可以利用它作为优势吗?

这是有约束力的

  <ul class="items-list"
data-bind="foreach: items>
<li>
....
</li>
</ul>

然后我用这个添加项目

self.items.push.apply(self.items, newItems); --items are observableArray

最佳答案

让您在 Chrome 和 IE 中得到提升的一件事是去除"template"周围的文本节点。所以,而不是:

<ul data-bind="foreach: items">
<li data-bind="text: name"></li>
</ul>

做:

<ul data-bind="foreach: items"><li data-bind="text: name"></li></ul>

重要的部分是顶级节点而不是子节点中的任何内容。现在 li 是唯一的节点,而不是它和两个文本节点。这将使 KO 在处理"template"时做更少的工作。

关于internet-explorer - IE 的 foreach 更快,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17347624/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com