渲染过程
来源:2-7 createElement

前端工程师666777888
2021-04-01
第一、整个组件的渲染过程,我有点迷糊了
例如根组件new Vue()开始–App.vue–a.vue–b.vue
b.vue是a.vue的子组件
a.vue是App.vue的子组件
第二、整体过程:
在生成render函数的过程
生成vnode的过程
渲染过程
第三、具体过程
new Vue()属于顶级节点
1、new Vue()在生成render函数时,如果遇到了App.vue组件,
则停止new Vue()继续生成自己的render函数,
2、开始生成App.vue的render函数,
在生成App.vue的render函数过程中,遇到了a.vue则停止App.vue继续生成自己render函数
3、开始生成a.vue的render函数,如果遇到b.vue则停止a.vue继续生成自己的render函数
4、开始生成b.vue的render函数,b.vue的render函数生成后,开始执行b.vue的vm._update(vm._render(), hydrating);生成b.vue的真实dom
5、b.vue的真实dom生成后,又回到a.vue的生成自己的render函数阶段
6、当a.vue的render函数生成后,a.vue开始执行
vm._update(vm._render(), hydrating);生成a.vue的真实dom
…
这样,直到new Vue()也执行了vm._update(vm._render(), hydrating);则渲染完成。
渲染过程是这样吗?感觉不太对
现在的问题点是:
render函数的生成,与vnode的生成 是怎么嵌套执行的
1回答
-
ustbhuangyi
2021-04-01
你的理解不对,先往后看视频吧,课程有讲到嵌套组件是如何递归渲染的
00
相似问题