父触发子的渲染
来源:5-8 组件更新(2)

前端工程师666777888
2021-04-06
在执行vm._update()时,
以下是两个节点相同的情况:
1、两个节点相同则执行patchVnode
2、在patchVnode()中,如果两个节点都有children,则继续执行updateChildren()
3、在updateChildren()中遍历children节点,如果节点是组件vnode,再次执行patchVnode
4、在patchVnode中,如果是组件vnode,则执行hook的preupdate()钩子
5、在preupdate()中,根据组件上属性的变化,来改变子组件中相应数据的变化,进而触发子组件的render watcher。
6、达到改变父组件数据,触发子组件渲染的目的
____________________________________________
第5步是重点
写回答
1回答
-
第五步也不一定会触发子组件重新渲染,通常只有插槽和 prop 发生改变的时候才有可能触发子组件渲染。
20
相似问题