1.什么是vue生命周期?
Vue 实例从创建到销毁的过程,就是生命周期。从开始创建、初始化数据、编译模板、挂载Dom→渲染、更新→渲染、销毁等一系列过程,称之为 Vue 的生命周期。
2.vue生命周期的作用是什么?
它的生命周期中有多个事件钩子,让我们在控制整个Vue实例的过程时更容易形成好的逻辑
3.生命周期是谁的?谁在用生命周期
- 组件
4.为什么我们需要使用生命周期?
它的生命周期中有多个事件钩子,让我们在控制整个Vue实例的过程时更容易形成好的逻辑
5.vue生命周期一个11个钩子函数
- 8个核心钩子函数
- 3个其他
6.核心的8个钩子函数
- 初始化阶段 -组件的创建阶段
- beforeCreate
初始化事件和声明周期
$el属性还没有显示出来
无法拿到实例的data和真实的DOM
- created
初始化注入data和对data做响应式拦截 Object.definedProperty
可以发送数据请求然后赋值给我们的data选项中的数据(一次)
- beforeMount
任务:通过render函数生成vDOM
- mounted
第三方库实例化时需要拿到请求来的数据,结合数据请求。可以操作真实的DOM了
- 更新阶段 -组件数据发生变化之后进入的阶段
- beforeUpdate
- 重新生成VDOM
- updated
- 表示更新结束,意味着真实的dom有一次被渲染了,
- diff算法对比新旧的VDOM,得到patch补丁对象,然后才渲染为真实的DOM
- 可以进行真实的DOM操作
- beforeUpdate
更新前/后:当data变化时,会触发beforeUpdate和updated方法
- 销毁阶段 -组件被删除的阶段
- beforeDestory
- destoryed - 删除无用的实例,释放内存,清除定时器以及删除手动添加的事件
销毁前/后:在执行destroy方法后,对data的改变不会再触发周期函数,说明此时vue实例已经解除了事件监听以及和dom的绑定,但是dom结构依然存在