insertedVnodeQueue的问题

来源:3-8 生命周期

前端工程师666777888

2021-04-03

我感觉每个组件在patch时,都会有个insertedVnodeQueue数组
刚开始patch时为[]


app.vue–a.vue–b.vue–c.vue
1,app.vue的insertedVnodeQueue里面是
[c的vnode,b的vnode,a的vnode,app的vnode]
2,a.vue的insertedVnodeQueue里面是[c的vnode,b的vnode,a的vnode]
3、b.vue的insertedVnodeQueue里面是[c的vnode,b的vnode]
4、c.vue的insertedVnodeQueue里面是[c的vnode]


请问老师,是这样吗?

写回答

1回答

ustbhuangyi

2021-04-03

不是这样的,每个组件的 patch 过程都会维护一个 insertedVnodeQueue,是当前组件的插入的 vnode 队列,它不会包含深层嵌套的组件。我建议你写一个简单的嵌套组件渲染的 demo,打上 debugger 单步调试一下

0
1
游鱼与渔
如果不是楼主说的这样的,请问那么大概是什么样的结构呢?能否说明一下,谢谢
2022-01-26
共1条回复

Vue.js 源码深入解析 深入理解Vue实现原理

全方位讲解 Vue.js 源码,进阶高级工程师

4986 学习 · 1038 问题

查看课程