虚拟dom

虚拟dom是什么

虚拟dom本质上就是一个普通的JS对象,用于描述视图的界面结构。在vue中,每个组件都有一个render函数,每个render函数都会返回一个虚拟dom树,这也就意味着每个组件都对应一棵虚拟DOM树。

为什么使用虚拟dom

  1. 框架设计
    响应式的本质是数据变化就运行相应的函数,比如render函数。因此操作的颗粒度最小为组件,数据变化无法定位到具体的dom。基于这个前提,组件的更新会全量更新真实dom,这种操作的效率是无法接受的。因此采用一种折中的方案,render函数全量更新虚拟dom,然后diff算法精确的更新真实dom。
  2. 解耦运行环境
    虚拟dom本质上就是一个普通的JS对象,因此虚拟dom可以跨端使用。真实dom只存在与浏览器中,app与小程序没有。不同的环境使用自定义渲染器。
posted @ 2024-04-29 20:55  冰凉小手  阅读(17)  评论(0编辑  收藏  举报