Vue3 版本的生命周期和钩子函数
文章目录一、什么是生命周期二、Vue2.x与Vue3.x生命周期对比1.onRenderTracked2.onRenderTriggered总结一、什么是生命周期Vue 是组件化编程,从一个组件诞生到消亡,会经历很多过程,这些过程就叫做生命周期Vue3 的生命周期setup() :开始创建组件之前,在beforeCreate和created之前执行。创建的是data和methodonBeforeM
一、什么是生命周期
Vue 是组件化编程,从一个组件诞生到消亡,会经历很多过程,这些过程就叫做生命周期
Vue3 的生命周期
setup() :开始创建组件之前,在beforeCreate和created之前执行。创建的是data和method
onBeforeMount() : 组件挂载到节点上之前执行的函数。
onMounted() : 组件挂载完成后执行的函数。
onBeforeUpdate(): 组件更新之前执行的函数。
onUpdated(): 组件更新完成之后执行的函数。
onBeforeUnmount(): 组件卸载之前执行的函数。
onUnmounted(): 组件卸载完成后执行的函数
onActivated(): 被包含在<keep-alive>中的组件,会多出两个生命周期钩子函数。被激活时执行。
onDeactivated(): 比如从 A 组件,切换到 B 组件,A 组件消失时执行。
onErrorCaptured(): 当捕获一个来自子孙组件的异常时激活钩子函数。
注:使用<keep-alive>
组件会将数据保留在内存中,比如我们不想每次看到一个页面都重新加载数据,就可以使用<keep-alive>
组件解决。
二、Vue2.x与
Vue3.x生命周期对比
Vue2--------------vue3
beforeCreate -> setup()
created -> setup()
beforeMount -> onBeforeMount
mounted -> onMounted
beforeUpdate -> onBeforeUpdate
updated -> onUpdated
beforeDestroy -> onBeforeUnmount
destroyed -> onUnmounted
activated -> onActivated
deactivated -> onDeactivated
errorCaptured -> onErrorCaptured
Vue3.X还增加onRenderTracked 和onRenderTriggered 函数
onRenderTracked 状态跟踪
跟踪虚拟 DOM 重新渲染时调用。钩子接收 debugger event
作为参数。此事件告诉你哪个操作跟踪了组件以及该操作的目标对象和键。
使用onRenderTracked
同样要使用import
进行引入。
import { .... ,onRenderTracked,} from "vue";
引用后就可以在setup()
函数中进行引用了。
onRenderTracked((event) => {
console.log("状态跟踪组件");
console.log(event);
});
在组件没有更新的时候onRenderTracked
是不会执行的,组件更新时,他会跟组里边每个值和方法的变化。
onRenderTriggered 状态触发
当虚拟 DOM 重新渲染被触发时调用。和 renderTracked 类似,接收 debugger event
作为参数。此事件告诉你是什么操作触发了重新渲染,以及该操作的目标对象和键。
使用它同样要先用import
进行引入
import { .... ,onRenderTriggered,} from "vue";
在使用onRenderTriggered
前,记得注释相应的onRenderTracked
代码,这样看起来会直观很多。 然后把onRenderTriggered()
函数,写在setup()
函数里边,
onRenderTriggered((event) => {
console.log("状态触发组件");
console.log(event);
});
对 event 对象属性的详细介绍:
- key 那边变量发生了变化
- newValue 更新后变量的值
- oldValue 更新前变量的值
- target 目前页面中的响应变量和函数
更多推荐
所有评论(0)