当前位置: 首页 > 网络应用技术

一篇文章完全了解VUE3源代码系列的差异算法

时间:2023-03-07 00:14:35 网络应用技术

  我们上次说,当旧数组是一个数组时,新数组将执行差异算法

  哪个元素是老儿子,新儿子和新儿子和比较

  VUE3不使用双指针,从一开始就将其比较

  目前,我们应该比较前面,A,D和E的范围。此时,我们可以依次对其进行比较。

  在上一个循环的下方,我们继续编写一段循环,条件与上一个周期相同

  一个聚会已经结束,越来越多

  观察两张图片并得出结论。如果我大于E1,则意味着您需要安装,也就是说,我需要安装

  观察两张图片并得出结论。

  调用补丁方法。当补丁的第一个参数为null时,也就是说,当没有初始虚拟节点时,这意味着插入操作

  我们可以获得E2的下一个值。如果下一个值小于数组的长度,则意味着我们需要向前插入,删除相应的参考作为参考,然后向前添加。否则,您需要向后插入它。然后将参考对象设置为null,这意味着添加附加添加。

  在获得参考对象之后,它被传递到补丁中。如果参考对象值得,它将插入其前面,否则将直接添加到末尾。

  还有两种情况,前面还有一个案例

  如果我大于E2,则意味着需要删除操作,并且i1和e1之间的元素被删除

  中间情况是需要比较序列的地方

  让我们分析混乱比较,位置运动和新插入中的两个问题,因为如果两者在混乱中匹配,我们只会比较,不动,并且不处理新情况。

  在新的和旧的比较中,旧节点将执行新的节点操作。

  我们需要移动上述操作上方的所有节点。我们希望尽可能少。我们只需要找到最长的接触,只有不连续的接触。这是最长增加的后续序列

  下次我们开始分析随后的最长增加序列

  如果您觉得自己已经获得了,请将小手移到点击,谢谢?葬礼呢,听下一个分解?