生命周期让我们在控制整个vue时更容易形成更好的逻辑,可以分为三个阶段,
挂载阶段,更新阶段,销毁阶段
分别有:
创建前:beforeCreate() 只有一些实例本身的事件和生命周期函数
创建后:created() 是最早使用data和methods中数据的钩子函数
挂载前:beforeMount() 指令已经解析完毕,内存中已经生成dom树
挂载后:Mounted() 渲染完毕页面和内存的数据已经同步
更新前:beforeUpdate() 当data的数据发生改变会执行这个钩子函数内存中的数据是新的, 页面是旧的
更新后:updated() 内存和页面都是新的
销毁前:beforeDestroy() 即将销毁data和methods中的数据此时还是可以使用的, 可以做一些释放内存的操作
销毁后:Destroyed() 已经销毁完毕
vue3.0 中的生命周期做了一些改动
beforeCreate ->setup() 开始创建组件之前,创建的是data和method
created ->setup()
beforeMount ->onBeforeMount 组件挂载到节点上之前执行的函数
mounted ->onMounted 组件挂载完成后执行的函数
beforeUpdate ->onBeforeUpdate 组件更新之前执行的函数
updated() ->onUpdate 组件更新完成之后执行的函数
beforeDestroy ->onBeforeUnmount 组件卸载之前执行的函数
destroyed ->onUnmounted 组件销毁之后执行的函数
Vue2 和 Vue3 的对比
Vue2--------------vue3
beforeCreate -> setup()
created -> setup()
beforeMount -> onBeforeMount
mounted -> onMounted
beforeUpdate -> onBeforeUpdate
updated -> onUpdated
beforeDestroy -> onBeforeUnmount
destroyed -> onUnmounted
activated -> onActivated
deactivated -> onDeactivated
errorCaptured -> onErrorCaptured