0

0

如何应用方法以及理解Vue 3的生命周期原理

王林

王林

发布时间:2023-05-10 08:10:22

|

1855人浏览过

|

来源于亿速云

转载

原理概述

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

实例分析

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

1. beforeCreate

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

export default {
  beforeCreate() {
    console.log('beforeCreate');
  }
}

2. created

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

import { onMounted, onUnmounted } from 'vue';

export default {
  data() {
    return {
      count: 0
    };
  },
  created() {
    console.log('created');
  },
  mounted() {
    onMounted(() => {
      console.log('component mounted');
    });
  },
  unmounted() {
    onUnmounted(() => {
      console.log('component unmounted');
    });
  }
}

3. beforeMount

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

立即学习前端免费学习笔记(深入)”;

export default {
  beforeMount() {
    console.log('beforeMount');
  }
}

4. mounted

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

HTTPie AI
HTTPie AI

AI API开发工具

下载
export default {
  mounted() {
    console.log('mounted');
    const button = this.$refs.myButton;
    button.addEventListener('click', () => {
      this.count++;
    });
  }
}

5. beforeUpdate

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

export default {
  beforeUpdate() {
    console.log('beforeUpdate');
  }
}

6. updated

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

export default {
  updated() {
    console.log('updated');
  }
}

7. beforeUnmount

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

export default {
  beforeUnmount() {
    console.log('beforeUnmount');
  }
}

8. unmounted

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

export default {
  unmounted() {
    console.log('unmounted');
  }
}

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

相关专题

更多
vlookup函数使用大全
vlookup函数使用大全

本专题整合了vlookup函数相关 教程,阅读专题下面的文章了解更多详细内容。

26

2025.12.30

金山文档相关教程
金山文档相关教程

本专题整合了金山文档相关教程,阅读专题下面的文章了解更多详细操作。

28

2025.12.30

PS反选快捷键
PS反选快捷键

本专题整合了ps反选快捷键介绍,阅读下面的文章找到答案。

25

2025.12.30

表格中一行两行的方法
表格中一行两行的方法

本专题整合了表格中一行两行的相关教程,阅读专题下面的文章了解更多详细内容。

3

2025.12.30

cpu温度过高解决方法大全
cpu温度过高解决方法大全

本专题整合了cpu温度过高相关教程,阅读专题下面的文章了解更多详细内容。

5

2025.12.30

ASCII码介绍
ASCII码介绍

本专题整合了ASCII码相关内容,阅读专题下面的文章了解更多详细内容。

31

2025.12.30

GPS是什么
GPS是什么

本专题整合了GPS相关内容,阅读专题下面的文章了解更多详细内容。

3

2025.12.30

wifi拒绝接入
wifi拒绝接入

本专题整合了wifi拒绝接入相关教程,阅读下面的文章了解更多详细方法。

9

2025.12.30

丰网速运介绍
丰网速运介绍

本专题整合了丰网速运查询入口以及相关内容,阅读专题下面的文章了解更多内容。

3

2025.12.30

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Vue3.x 工具篇--十天技能课堂
Vue3.x 工具篇--十天技能课堂

共26课时 | 1.4万人学习

Vue3.x 核心篇--十天技能课堂
Vue3.x 核心篇--十天技能课堂

共30课时 | 1.4万人学习

Vue3.x新特性篇--十天基础课堂
Vue3.x新特性篇--十天基础课堂

共20课时 | 1.1万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号