vue3生命周期原理与函数应用的方法是什么

其他教程   发布日期:2025年03月31日   浏览次数:149

这篇“vue3生命周期原理与函数应用的方法是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“vue3生命周期原理与函数应用的方法是什么”文章吧。

原理概述

Vue 3的生命周期(Lifecycle)指的是组件从创建到销毁经历的一系列事件,在这些事件中可以执行一些操作,例如初始化数据、渲染视图、加载异步数据等。在Vue 3中,通过setup()函数来定义组件的生命周期。

实例分析

Vue 3的生命周期包含了以下几个阶段:

1. beforeCreate

在实例创建之前,即在初始化之前被调用。此时,尚未初始化组件实例,无法访问data、methods和computed等属性,在组件状态初始化之前执行一些操作。

  1. export default {
  2. beforeCreate() {
  3. console.log('beforeCreate');
  4. }
  5. }

2. created

在实例创建之后,即在初始化之后被调用。此时,已经完成了数据观测等配置,但尚未挂载DOM,并且可以访问data、methods和computed等属性。可以使用created钩子函数进行数据初始化和事件的监听等操作。

  1. import { onMounted, onUnmounted } from 'vue';
  2. export default {
  3. data() {
  4. return {
  5. count: 0
  6. };
  7. },
  8. created() {
  9. console.log('created');
  10. },
  11. mounted() {
  12. onMounted(() => {
  13. console.log('component mounted');
  14. });
  15. },
  16. unmounted() {
  17. onUnmounted(() => {
  18. console.log('component unmounted');
  19. });
  20. }
  21. }

3. beforeMount

在挂载开始之前被调用。在此阶段中,尚未渲染真实的DOM节点。可以使用beforeMount钩子函数,在组件挂载之前进行一些异步操作,例如加载动画等。

  1. export default {
  2. beforeMount() {
  3. console.log('beforeMount');
  4. }
  5. }

4. mounted

在挂载结束后被调用。此时,组件已经渲染出真实的DOM。mounted钩子函数往往用于初始化DOM操作以及与服务器交互后填充组件的数据,例如通过ref获取DOM节点和注册事件监听器等。

  1. export default {
  2. mounted() {
  3. console.log('mounted');
  4. const button = this.$refs.myButton;
  5. button.addEventListener('click', () => {
  6. this.count++;
  7. });
  8. }
  9. }

5. beforeUpdate

在数据更新之前被调用。此时,可以在更新之前访问旧的数据状态。可以使用beforeUpdate钩子函数,在组件数据更新之前执行一些操作,例如动态绑定class和style等。

  1. export default {
  2. beforeUpdate() {
  3. console.log('beforeUpdate');
  4. }
  5. }

6. updated

在数据更新之后被调用。此时,组件已经更新DOM,可以通过访问最新的数据状态来完成DOM的操作。可以使用updated钩子函数,在组件数据更新之后执行一些操作,例如触发动画效果等。

  1. export default {
  2. updated() {
  3. console.log('updated');
  4. }
  5. }

7. beforeUnmount

在组件卸载之前被调用。此时,组件实例仍然完全可用,但是它的视图已经被销毁并且不再更新。可以使用beforeUnmount钩子函数,在组件卸载之前执行一些清理操作,例如取消事件监听器、定时器和异步请求等。

  1. export default {
  2. beforeUnmount() {
  3. console.log('beforeUnmount');
  4. }
  5. }

8. unmounted

在组件卸载之后被调用。此时,组件实例以及其所有相关联的DOM元素均已销毁,无法再访问组件内部数据和方法。可以使用unmounted钩子函数,在组件卸载之后执行一些最终清理操作。

  1. export default {
  2. unmounted() {
  3. console.log('unmounted');
  4. }
  5. }

需要注意的是,Vue 3中去掉了一些生命周期函数,例如activated、deactivated和errorCaptured等,这些可以通过新的Composition API来实现。

以上就是vue3生命周期原理与函数应用的方法是什么的详细内容,更多关于vue3生命周期原理与函数应用的方法是什么的资料请关注九品源码其它相关文章!