Virtual Dom是如何提升VUE渲染速度的?
总结:模板数据在发生变化的时候,Vue会重新编译渲染函数,渲染函数会生成一个新的VNode,同时在Vue内部中,这个新的VNode会和oldVNode进行对比(diff算法),找出差异的地方,进行更新。
渲染函数: 生成Vue内部的虚拟VNode。
VNode: 理解为Vue的一个虚拟文档节点,会被Vue创建成一个真实的dom节点。
Virtula DOM是什么?
Virtula DOM其实就是一个用JavaScript对象表现的以VNode节点为基础的树,下图就是渲染函数生成VirtulaDOM,并由Virtula DOM转成真实DOM的实例
为何使用Virtula DOM?
1、提升渲染性能,在重新渲染的时候比较前后DOM结构,尽可能减少DOM更新
2、跨平台优势,把DOM表现成一个JavaScript对象,具备在不同平台使用的条件
3、浏览器操作DOM慢,浏览器在对比DOM更新时候操作比JS对比DOM结构要慢,利用JS运行效率高的特性提升渲染性能