试题
考点

js语言和框架-vue.js-vue重排与重绘-diff

面5笔5

讲一下双端diff 算法的实现

前往“校招VIP”小程序,刷题更快
最新校招难题刷题,快来进刷题群吧
解答

vue2 是用的双端 diff 的算法。双端 diff 是头尾指针向中间移动的同时,对比头头、尾尾、头尾、尾头是否可以复用,如果可以的话就移动对应的 dom 节点。
如果头尾没找到可复用节点就遍历 vnode 数组来查找,然后移动对应下标的节点到头部。
最后还剩下旧的 vnode 就批量删除,剩下新的 vnode 就批量新增。

评论
暂无评论

加载更多