• diff可以比较两棵树的同层节点

过程

重要的过程

标识vnode

  • diff算法判断新旧VDOM是否相同的依据是节点的tag和key
  • 如果tag和key相同则会进一步进行比较,使得尽可能多的节点进行复用。

适用范围

场景

  • 对于新旧两个虚拟DOM树,子结点都比较多时,对它们进行比较,尽可能复用旧节点,比较出尽可能少的更改
    • 如一个列表,新的VDOM对该列表某些元素做了一些修改

详细教程

面试官:你了解vue的diff算法吗?说说看 | web前端面试 - 面试官系列