一、vue生命周期是什么:
Vue
中实例从创建到销毁的过程就是生命周期,指从创建、初始化数据、编译模板、挂载Dom→渲染、更新→渲染、卸载等一系列过程,也可以比喻为人从出生到死亡进入坟墓的这一过程。
二、生命周期有哪些:
生命周期分为8个阶段
1、beforeCreate: 组件实例被创建之初
(执行时组件实例还未创建,通常用于插件开发中执行一些初始化任务)
2、created: 组件实例已经完全创建
(组件初始化完毕,各种数据可以使用,常用于异步数据获取)
3、beforeMount: 组件挂载之前
(未执行渲染、更新,dom未创建)
4、mounted: 组件挂载到实例上去之后
(初始化结束,dom已创建,可用于获取访问数据和dom元素)
5、beforeUpdate: 组件数据发生变化,更新之前
(更新前,可用于获取更新前各种状态)
6、updated: 组件数据更新之后
(更新后,所有状态已是最新)
7、beforeDestroy: 组件实例销毁之前
(销毁前,可用于一些定时器或订阅的取消)
8、destroyed: 组件实例销毁之后
(组件已销毁,作用同上)
三、Vue 的父组件和子组件生命周期钩子函数执行顺序
1、加载渲染过程:
父 beforeCreate -> 父 created -> 父 beforeMount -> 子 beforeCreate -> 子 created -> 子 beforeMount -> 子 mounted -> 父 mounted
2、子组件更新过程:
父 beforeUpdate -> 子 beforeUpdate -> 子 updated -> 父 updated
3、父组件更新过程:
父 beforeUpdate -> 父 updated
4、销毁过程:
父 beforeDestroy -> 子 beforeDestroy -> 子 destroyed -> 父 destroyed