请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

渲染过程

简述整个渲染过程
1、初始化完成后,执行vm.$mount()开始挂载节点
2、在vm.$mount()中会生成一个render函数。接下来在new Watcher()时会执行这个生成的render函数
3、在执行render函数时,会生成vnode。
  在生成vnode时,如果遇到了自定义组件A,则会停止继续生成这个vnode
4、开始执行这个自定义组件的$mount()方法,生成组件A的render函数,在new Watcher()时执行组件A的render函数,生成组件A的vnode,组件A的vnode生成后,执行组件A的_update()把组件A的vnode变成真实dom
5、接下来继续生成上面停止的vnode,生成vnode后,执行_update(),完成渲染

请问老师是这样吗?

正在回答 回答被采纳积分+3

1回答

ustbhuangyi 2021-04-02 09:51:16

第三步不对,vnode 已经生成好了,在后面 patch 阶段的 createElm 过程中,如果遇到组件 vnode,会递归执行子组件的创建过程。

0 回复 有任何疑惑可以回复我~
  • 生成vnode不是在render过程中吗?patch阶段,vnode已经生成完成了吧
    回复 有任何疑惑可以回复我~ 2021-11-25 18:32:53
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信