vue的虚拟DOM

虚拟DOM是什么?

虚拟dom顾名思义就是虚拟的dom对象,它本身就是一个 JavaScript 对象,只不过它是通过不同的属性去描述一个视图结构。

为什么要使用虚拟DOM,有什么好处?

将真实的元素节点抽象化,有效减少直接操作 dom 次数,从而提高程序性能
1.直接操作 dom 是有限制的,比如:clone 操作,如果需要进行 clone 那么需要将其全部内容进行复制,会去额外 clone 一些没有必要的内容,如果将这些操作转移到 JavaScript 对象上,那么就会变得简单了。
2.操作 dom 是代价比较大的操作,频繁的dom操作容易引起页面的重绘和回流,但是通过虚拟dom进行中间处理,可以有效减少直接操作dom的次数,从而减少页面重绘和回流。
3.具备跨平台的优势–由于 Virtual DOM 是以 JavaScript 对象为基础而不依赖真实平台环境,所以使它具有了跨平台的能力,比如说浏览器平台、Node 等。

虚拟DOM怎么生成?

在vue中我们常常会为组件编写模板 - template, 这个模板会被编译器 - compiler编译为渲染函数,在接下来的挂载(mount)过程中会调用render函数,返回的对象就是虚拟dom。但它们还不是真正的dom,所以会在后续的patch过程中进一步转化为dom。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容