vue3中如何使用钩子函数?
时间: 2023-10-26 08:06:24 浏览: 101
在 Vue 3 中,钩子函数的使用方式与 Vue 2 有所不同。Vue 3 中的钩子函数被称为生命周期钩子函数,它们被视为应用程序从创建到销毁的生命周期事件。
以下是 Vue 3 中最常用的一些生命周期钩子函数:
1. `beforeCreate`:在实例初始化之后,数据观测和事件配置之前被调用。
2. `created`:在实例创建完成后被立即调用。在这一步,实例已完成以下的配置:数据观测,属性和方法的运算,watch/event 事件回调。
3. `beforeMount`:在挂载开始之前被调用:相关的 render 函数首次被调用。
4. `mounted`:实例被挂载后调用,这时 el 被新创建的 vm.$el 替换了。
5. `beforeUpdate`:数据更新时调用,发生在虚拟 DOM 重新渲染和打补丁之前。
6. `updated`:由于数据更改导致的虚拟 DOM 重新渲染和打补丁后调用。
7. `beforeUnmount`:实例销毁之前调用。在这一步,实例仍然完全可用。
8. `unmounted`:实例销毁后调用。
在组件内部定义生命周期钩子函数非常简单,只需要在组件的 `setup` 函数中使用 `onXXX` 的命名方式即可。例如,在组件中定义 `beforeMount` 钩子函数的方式如下:
```
import { onBeforeMount } from 'vue';
export default {
setup() {
onBeforeMount(() => {
console.log('before mount');
});
}
}
```
需要注意的是,在 Vue 3 中,`created` 钩子函数中无法访问到 this 上下文,因为它在组件实例化之前被调用。如果需要访问组件实例,请使用 `getCurrentInstance()` 函数获取当前组件实例。
阅读全文