美文网首页
虚拟DOM,DOM diff ,Vue.nextTick()

虚拟DOM,DOM diff ,Vue.nextTick()

作者: RickyWu585 | 来源:发表于2021-05-11 15:12 被阅读0次

虚拟DOM是什么

  • 一个能代表 dom 树的对象,通常含有标签名、标签上的属性、事件监听和子元素们以及其他属性

虚拟DOM优点

  • 减少DOM操作
    1.虚拟DOM可以将多次操作合并为一次操作,比如添加1000个节点,不用虚拟DOM会操作1000次
    2.虚拟DOM借助DOM diff可以吧多余的操作省掉,比如添加1000个节点,只有10个是新增的
  • 跨平台

虚拟DOM缺点

  • 需要额外的创建函数,如 createElement 和 h,但可以通过 JSX 来简化为 XML 写法

创建虚拟Dom

  • Vue:通过h函数创建。Vue template语法,通过 vue-loader 转换为 h 形式
  • React:通过 babel 转换为 createElement 形式

什么是DOM diff

  • 就是一个函数,我们称之为 patch
  • 递归对比前后dom树的区别
  • patches = patch(oldVNode,newVNode)
  • patches 就是要运行的 dom 操作(增删改之类的dom操作)
  • 先不做,把要更新的dom操作 放到一个任务队列里,等全部统计结束了一次性更新
  • 这也是vue中有时需要使用 $nextTick 的原因

相关文章

  • 虚拟dom和diff算法

    虚拟DOM和diff算法 diff:精细化比对最小量更新 真实DOM和虚拟DOM 虚拟DOM:用JavaScrip...

  • 虚拟DOM,DOM diff ,Vue.nextTick()

    虚拟DOM是什么 一个能代表 dom 树的对象,通常含有标签名、标签上的属性、事件监听和子元素们以及其他属性 虚拟...

  • Diff 算法、key

    概念 DOM diff 就是对比两棵虚拟 DOM 树的算法。当组件变化时,会得到一个新的虚拟 DOM,diff 算...

  • react VS Vue diff算法

    react diff diff算法的作用:数据更改,生成相应的虚拟DOM,与真实DOM作对比,通过diff算法,对...

  • 深入理解react中的虚拟DOM、diff算法

    文章结构: React中的虚拟DOM是什么? 虚拟DOM的简单实现(diff算法) 虚拟DOM的内部工作原理 Re...

  • 你怎么理解vue中的diff算法?

    diff算法是虚拟 DOM 的必然产物,通过新旧虚拟 DOM 对比,将变化的地方更新在真实 DOM 上,另外也需要...

  • 第十七天

    1.你怎么理解vue中的diff算法? diff算法是虚拟DOM技术的必然产物:通过新旧虚拟DOM作对比(即dif...

  • React应用架构

    【插播一条】虚拟DOM Diff算法 我们都知道React通过虚拟DOM机制可以有效解决复杂的DOM操作带来的性能...

  • 面试题集(2)

    为什么虚拟dom会提高性能? 参考答案 虚拟dom相当于在js和真实dom中间加了一个缓存,利用dom diff算...

  • React 虚拟 Dom 和 diff 算法

    React将DOM抽象为虚拟DOM, 然后通过新旧虚拟DOM 这两个对象的差异(Diff算法),最终只把变化的部分...

网友评论

      本文标题:虚拟DOM,DOM diff ,Vue.nextTick()

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