Vue里面的虚拟DOM并非就比原生DOM快。
原因
虚拟DOM渲染是将真实DOM转为js对象,然后将js对象转换为真实DOM,也就是是说他始终会创建DOM对象。在vue应用初次加载时,需要优先创建所有的虚拟DOM,然后在把虚拟DOM全部转换为真实DOM,消耗的时间一定会比直接渲染真实DOM更多的。
为什么还要使用虚拟DOM
首先使用虚拟DOM更多是对我们开发进行一个效率提升,在之前开发中,我们会花费大量时间去进行DOM元素的创建,删除,插入,而使用虚拟DOM让我们更加关注数据层,节约对DOM操作的时间成本。
其次在对一批元素更新时,虚拟DOM确实会有更好的表现。他会根据DIFF算法找到有所改变的元素,其他元素则直接复用之前的元素,确实比全部替换更快。