diff 算法作用
在 组件更新时,会形成新的 VNode,新旧VNode 进行比较 patch,通过 diff 算法找出更新的地方,然后执行对应的 DOM 操作
diff 的过程:
- 比较两个节点是否是相同节点,通过 tag 和 key 判断,不是则直接删除,重新创建
- 都是文本节点则跟新文本内容
- 都是元素节点,则更新属性,然后更新子节点
- 如果新旧子节点都是数组的话,会进行更详细的 diff (双端 diff)
- 新旧节点为文本,则更新文本
- 新为文本,旧为数组则设置文本,清空数组
- 新为数组,旧为文本,则清除文本,创建数组中的子元素
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
上一篇: Vuex 的整体理解
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
更多
发布评论