VueDemo icon indicating copy to clipboard operation
VueDemo copied to clipboard

关于新旧节点patch问题

Open chenchangyuan opened this issue 5 years ago • 1 comments

大佬你好,请问为何不直接将oldVNode删除,用newVNode直接替换呢

chenchangyuan avatar Mar 21 '19 05:03 chenchangyuan

大佬你好,请问为何不直接将oldVNode删除,用newVNode直接替换呢 Vue 的 patch 过程 ,主要是为了最大程度的复用原先的 dom 。vnode 树和 dom 树中的节点其实是一一对应的。如果你直接删除旧的 vnode 并插入新的 vnode ,会导致 dom 树上也会删除旧的节点并插入新的节点。这就没有复用性可言了。而 dom 的操作是非常消耗性能的

zhanyuzhang avatar Apr 14 '20 08:04 zhanyuzhang