- new Vue 的时候调用_init方法
- 定义$set,$get,$delete,$watch等方法
- 定义$on,$off,$emit等事件
- 定义_update,$forceUpdate,$destroy生命周期
- 调用$mount进行页面的挂载,会解析template:
- 将html文档解析后生成ast抽象语法树
- 将ast解析成字符串
- 生成render函数,挂载到vm上后,会再次调用mount方法
- mount方法中
- 会调用mountComponent渲染组件
- 执行beforeMount钩子
- 定义updateComponent渲染页面视图方法(updateComponent方法主要执行在vue初始化声明的render,update方法,render的作用是生成vnode)
- 监听组件数据,一旦发生变化,触发beforeUpdate生命钩子
- _update主要功能是调用patch,将vnode转换为真实DOM,并且更新到页面中
参考链接:
https://vue3js.cn/interview/vue/new_vue.html#%E4%B8%89%E3%80%81%E7%BB%93%E8%AE%BA