什么是diff算法?

分成三部分tree diff、 component diff、 element diff,分别去对比新旧(虚拟)dom树,DOM树中的组件,组件中的元素

tree diff

新旧两个DOM树,逐层对比的过程,就是tree diff

当整个DOM树逐层对比完毕,则能找到要被更新的元素

component diff

在进行tree diff的时候,会对每一层的组件进行对比,如果新旧组件的类型相同,会进行element diff对比,如果不同,直接移除组件更新新组件

element diff


    在进行component diff对比时如果两个组件的类型相同,会对其内部的元素进行对比
 

你可能感兴趣的:(javascript,前端,vue.js)