美文网首页
Vue中的Diff算法

Vue中的Diff算法

作者: 泪滴在琴上 | 来源:发表于2021-02-08 13:16 被阅读0次

在新老虚拟DOM对比时

首先,对比节点本身,判断是否为同一节点,如果不为相同节点,则删除该节点重新创建节点进行替换
如果为相同节点,进行patchVnode,判断如何对该节点的子节点进行处理,先判断一方有子节点一方没有子节点的情况(如果新的children没有子节点,将旧的子节点移除)
比较如果都有子节点,则进行updateChildren,判断如何对这些新老节点的子节点进行操作(diff核心)。
匹配时,找到相同的子节点,递归比较子节点

在diff中,只对同层的子节点进行比较,放弃跨级的节点比较,使得时间复杂从O(n^3)降低值O(n),也就是说,只有当新旧children都为多个子节点时才需要用核心的Diff算法进行同层级比较。

相关文章

  • sammary

    vue-diff算法 react 性能优化 diff算法 ,局部更新DOMshouldComponentUpdat...

  • 理解vue2.x之diff算法

    了解diff算法前,应该先了解虚拟DOM(VNode),在vue中是先创建VNode,再通过diff算法看哪个节点...

  • Vue2.0的Diff算法

    原文:解析Vue2.0的Diff算法 Vue2.0加入了Virtual Dom,Vue的Diff位于patch.j...

  • 第十七天

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

  • VueDiff算法的简单分析和一些个人思考

    Diff算法是Vue视图动态改变的核心算法之一 本文包括对Diff算法的简单概括,和我闲的难受对Diff算法的一些...

  • vue 中diff算法

    1. 前言 vue 中的虚拟 DOM,diff算法,大家都有所耳闻但是总感觉不那么透彻,所以看了几遍官网,简单整理...

  • Vue中的diff算法

    Vue中的diff算法 概念:diff算法是一种优化手段,将前后两个模块进行差异化对比,修补(更新)差异的过程叫做...

  • Vue中的diff算法

    Vue中的diff算法 概念:diff算法是一种优化手段,将前后两个模块进行差异化对比,修补(更新)差异的过程叫做...

  • Vue中的Diff算法

    在新老虚拟DOM对比时 首先,对比节点本身,判断是否为同一节点,如果不为相同节点,则删除该节点重新创建节点进行替换...

  • vue系列---vue-diff

    1.vue-diff 是什么? 提到vue的diff算法就不得不提一个名词 虚拟dom(Virtual DOM) ...

网友评论

      本文标题:Vue中的Diff算法

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