美文网首页js css html
为什么要使用虚拟DOM?

为什么要使用虚拟DOM?

作者: 小李不小 | 来源:发表于2022-09-04 22:16 被阅读0次

为什么要使用虚拟DOM

主要分为两个角度

1.DOM操作角度。假设状态发生变化,我们如何将状态的更新应用到视图上?
直接创建元素,然后将元素覆盖到我们需要更新的地方,这样做固然很快捷,但是会引发页面出现很大的变动,渲染引擎需要重新计算和渲染,这样的开销很大

更聪明的办法是找出那些需要更新的节点,然后只更新那些发生变动的节点,这样导致DOM操作减少,虽然会耗费一点时间用于计算哪些节点需要更新,但是这样的时空置换是远远值得的

2.vue数据侦测角度,由于Vue1.0绑定状态是页面的中dom节点,如果绑定的节点过多,那么在依赖收集和通知依赖造成的开销,还有内存存储造成的开销是较大的

所以为了减少这方面的开销,vue2.0将依赖收集的粒度提升了,变成中粒度的组件,依赖收集和通知的基本单位变成了组件,大大的减少开销了。

在组件级别中使用虚拟DOM,使用虚拟DOM的前提有两点,首先要获取到Vue组件的模板,模板就是写的HTML代码。

获取模板的意义是为了找出我们使用的状态,但是模板不能直接使用,将要变成虚拟DOM能够处理的单元,需要使用渲染函数,通过渲染函数变成虚拟DOM节点

生成的新的虚拟DOM节点和旧虚拟DOM节点进行patch运算,找出需要重新渲染的节点然后添加到视图中去。


image.png

相关文章

  • Vue虚拟Dom与diff算法原理

    什么是虚拟DOM? 真实的元素节点: 为什么使用虚拟DOM? 虚拟DOM的作用是什么? 虚拟DOM和真实DOM的区...

  • vue 2x源码分析(三)---虚拟dom

    以前用jq,我们都是直接操作dom,为什么要使用虚拟dom,虚拟dom的优势是什么,虚拟dom是如何实现的,vue...

  • react的设计思想

    1.Virtual DOM(虚拟dom) 为什么要使用虚拟dom呢1.dom渲染在渲染中是最昂贵的,尽量减少dom...

  • Vue.js 源码剖析-虚拟 DOM

    什么是虚拟DOM 虚拟 DOM(Virtual DOM) 是使用 JavaScript 对象来描述 DOM,虚拟 ...

  • React 笔记

    第一个例子 虚拟DOM的两种创建方式 使用jsx创建虚拟DOM 使用js创建虚拟DOM 关于虚拟DOM 本质是Ob...

  • Vue笔记1

    问:为什么要用虚拟DOM? 答:虚拟DOM其实就是对象,操作对象的成本比操作DOM的成本更低,所以要用虚拟DOM ...

  • Snabbdom使用及原理

    Virtual DOM 课程目标 了解什么是虚拟 DOM,以及虚拟 DOM 的作用 Snabbdom 的基本使用 ...

  • React虚拟DOM浅析

    如果您正在使用React或学习React,那么您一定听说过“虚拟DOM”一词。现在什么是虚拟DOM?为什么Reac...

  • 手写 Vue Router、手写响应式实现、虚拟 DOM 和 D

    Virtual DOM 的实现原理 了解什么是虚拟DOM,以及虚拟DOM的作用 Snabbdom的基本使用 Sna...

  • Vue之虚拟DOM

    Vue之虚拟DOM 为什么要用到虚拟DOM? 众所周知,DOM操作是JavaScript语言的硬伤。浏览器对DOM...

网友评论

    本文标题:为什么要使用虚拟DOM?

    本文链接:https://www.haomeiwen.com/subject/vfbbnrtx.html