Vue中如何高效运用fragment.js实现组件优化?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1458个文字,预计阅读时间需要6分钟。
使用`createDocumentFragment`一次性插入大量元素的方法如下:
javascriptvar parent=document.getElementById('parent');for (var i=0; i <10000; i++) { var element=document.createElement('div'); element.textContent='节点' + i; parent.appendChild(element);}
createDocumentFragment
如果要在一个节点上一次性插入多个元素怎么办,比如说一次插入 10000 个节点?
最简单粗暴的方式就是:
var parent = document.getElementById(`'parent'`); for`(`var i = 0; i < 10000; i++) { var child = document.createElement(`'div'`); var text = document.createTextNode(`'' + i);` child.appendChild(text); parent.appendChild(child); }
不过众所周知的原因,对 DOM 反复操作会导致页面重绘、回流,效率非常低,而且页面可能会被卡死,这段代码基本是没人用的。
本文共计1458个文字,预计阅读时间需要6分钟。
使用`createDocumentFragment`一次性插入大量元素的方法如下:
javascriptvar parent=document.getElementById('parent');for (var i=0; i <10000; i++) { var element=document.createElement('div'); element.textContent='节点' + i; parent.appendChild(element);}
createDocumentFragment
如果要在一个节点上一次性插入多个元素怎么办,比如说一次插入 10000 个节点?
最简单粗暴的方式就是:
var parent = document.getElementById(`'parent'`); for`(`var i = 0; i < 10000; i++) { var child = document.createElement(`'div'`); var text = document.createTextNode(`'' + i);` child.appendChild(text); parent.appendChild(child); }
不过众所周知的原因,对 DOM 反复操作会导致页面重绘、回流,效率非常低,而且页面可能会被卡死,这段代码基本是没人用的。

