【vue渲染器】patch过程个人理解

更新节点思路:

首先,肯定有的是新旧节点两个参数。那怎么比较呢?

简单!新旧节点这个说法就说明了它是一个节点跟一个节点的比较,这点很重要,因为问题简化了,就不涉及多个节点。新旧节点要么相同标签,要么不同。

只要tag相同,就可以继续比较下去!不同的话,简单,要么移除旧节点,要么覆盖旧节点。

tag相同时,如何继续比较下去?考虑到tag身上可能会附带参数和事件,所以第一就是“附带参数和事件”的比较。然后第二点肯定就是子节点的比较。比较第一点很简单,第二点要怎么考虑?

这里子节点会涉及多个子节点的问题,所以比前面的比较相对复杂。此处省略,有时间再细谈。

猜你喜欢

转载自blog.csdn.net/printf____/article/details/121553845