Vue源码之 diff Vnode

其实现在这个还没看懂,只能是初步看一下

_update调用__patch__方法,如果prevVnode(也就是oldVnode),旧vnode和新vnode对比,如果没有,就vnode就是vm.$el,就是挂载的那个真实node

这样进入patch方法之后,先判断oldVnode是否定义了,如果没有,说明这是VueComponent在_init方法中调用到了本方法,这里下面再说。

如果oldVnode定义了,且是真实节点,说明是Vue在_init方法中调用到了本方法,那么调用createElm方法,创建新节点,递归创建子节点,并用新节点替换掉之前挂载的节点

猜你喜欢

转载自www.cnblogs.com/chuliang/p/10745037.html
今日推荐