DOM-Diff 算法的作用就是对比VNode节点的不同来进行更新dom
    Vue中,把 DOM-Diff过程叫做patch过程。
    主要是做三件事

    • 创建节点:新的VNode中有而旧的oldVNode中没有,就在旧的oldVNode中创建。
    • 删除节点:新的VNode中没有而旧的oldVNode中有,就从旧的oldVNode中删除。
    • 更新节点:新的VNode和旧的oldVNode中都有,就以新的VNode为准,更新旧的oldVNode

    (1)创建节点
    image.png

    (2)删除节点

    只需要节点父节点调用removeChild()方法

    1. function removeNode (el) {
    2. const parent = nodeOps.parentNode(el) // 获取父节点
    3. if (isDef(parent)) {
    4. nodeOps.removeChild(parent, el) // 调用父节点的removeChild方法
    5. }
    6. }

    3、更新节点

    静态节点的定义 只有纯文字没有任何其他元素的节点

    image.png