什么是虚拟dom?
本质上是一个普通的JS对象,用来模拟DOM结构。(Vue内部有一个虚拟DOM转义器,会把真实DOM转成一个对象)
组件在渲染的时候,会调用render函数,这个函数会生成一个虚拟DOM,虚拟DOM最终会变成真实DOM挂载在我们页面中。
虚拟dom和真实dom的区别?
1、虚拟DOM不会进行重排与重绘操作;
2、虚拟DOM进行频繁修改,然后一次性比较并修改真实DOM中需要修改的部分,最后进行重排和重绘,减少过多DOM节点重排和重绘损耗。
3、虚拟DOM有效降低大面积(真实DOM节点)的重排和重绘,因为最终与真实DOM比较差异,可以局部渲染。