Vue3生命周期钩子函数(Vue3生命周期)

news2024/11/24 19:41:25

前言

        Vue 3 引入了一些变化,特别是针对生命周期钩子函数。Vue 3 支持两种API风格:传统的选项式API(Options API)和新的组合式API(Composition API)。我们都知道选项式 API 是 Vue 2 中熟悉的语法风格,它在 Vue 3 中仍然得到支持。下面分别概述一下这两种API下的生命周期钩子函数,简单记录一下

一. 组合式API (Vue3,Composition API)

在组合式API中,生命周期钩子采用了函数的形式,并且可以导入和使用:

  1. setup():这是组合式API中最核心的部分,它在生命周期早期执行,类似于 beforeCreate 和 created 钩子的组合。在这个阶段,你可以初始化状态、设置响应式属性、定义计算属性等。
  2. onBeforeMount:在挂载开始之前调用。
  3. onMounted:在组件挂载完成后调用。
  4. onBeforeUpdate:在组件更新之前调用。
  5. onUpdated:在组件更新并重新渲染后调用。
  6. onBeforeUnmount:在组件卸载前调用。
  7. onUnmounted:在组件卸载后调用。
  8. 等等,会不定时更新

更多生命周期函数,请看

VueJS 官网,组合式 API:生命周期钩子icon-default.png?t=O83Ahttps://cn.vuejs.org/api/composition-api-lifecycle.html


二. 选项式API (Vue2,Options API)

在选项式API中,生命周期钩子与Vue 2相似,但是有一些细微的变化。Vue 3中仍然支持以下生命周期钩子:

  1. beforeCreate:在实例创建完成后,数据观测 (data observer) 和事件/ watcher 事件配置之前被调用。
  2. created:实例创建完成后被立即调用。此时,实例已完成以下的配置:数据观测 (data observer)、属性和方法的运算,事件/ watcher 事件回调。不过,挂载步骤还没开始,$el 属性当前不可用。
  3. beforeMount:实例开始挂载之前被调用。
  4. mounted:el 被新创建的 vm.$el 替换,并挂载到实例上之后调用该钩子。
  5. beforeUpdate:Vue 实例重新渲染之前调用。发生在虚拟 DOM 打补丁之前。
  6. updated:组件 DOM 已经更新之后调用。
  7. beforeUnmount:实例销毁之前调用。
  8. unmounted:实例被销毁之后调用。
  9. 等等,会不定时更新

 更多生命周期函数,请看

VueJS 官网,选项式 API:生命周期钩子icon-default.png?t=O83Ahttps://cn.vuejs.org/api/composition-api-lifecycle.html


三. 使用方式

选项势API我们都比较熟悉,这里我们介绍一下组合式API。在组合式API中,这些生命周期函数通常是从 Vue 库中导入并在 setup 函数中使用。例如:

import { onMounted, onBeforeUnmount } from 'vue';

export default {
  setup() {
    onMounted(() => {
      // 在组件挂载完成后执行的操作
    });

    onBeforeUnmount(() => {
      // 在组件卸载前执行的操作,例如清理定时器或事件监听器
    });
  }
}

语法糖写法

<script setup>
import { ref } from 'vue';
import { onMounted, onBeforeUnmount } from 'vue';

const message = ref('Hello, world!');

onMounted(() => {
  console.log('Component is mounted');
});

onBeforeUnmount(() => {
  console.log('Component is about to be unmounted');
});
</script>


四. 总结

        Vue 3 提供了更加灵活的方式来处理生命周期钩子,允许我们根据自己的需求选择使用选项式API还是组合式API。组合式API提供了更强大的功能来组织和复用逻辑,而选项式API则保留了Vue 2的编程模型,使得迁移更为平滑。

  • Composition API,组合式API是Vue3语法,
  • Options API,选项式API是Vue2语法。


五. 更多操作,请看

Vue3.0 官网icon-default.png?t=O83Ahttps://cn.vuejs.org/guide/introduction.html

感觉有用,就一键三连,感谢(●'◡'●)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2122852.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

opencv学习:模板匹配和argparse 模块的代码实现及优缺点

模板匹配 模板匹配算法&#xff08;Template Matching Algorithm&#xff09;&#xff0c;这是一种在图像处理和计算机视觉领域常用的方法&#xff0c;用于在一个大图像中寻找一个小模板图像的位置。模板匹配算法通过滑动窗口的方式在目标图像上移动模板图像&#xff0c;并计算…

数据结构 Java DS——分享部分链表题目 (2)

前言 关于JAVA的链表,笔者已经写了两篇博客来介绍了,今天给笔者们带来第三篇,也是分享了一些笔者写过的,觉得挺好的题目,链接也已经挂上了,笔者们可以去看看 入门数据结构JAVA DS——如何实现简易的单链表(用JAVA实现)-CSDN博客 数据结构 Java DS——链表部分经典题目 (1)-C…

Vue双向数据绑定代码解读

Vue核心基础-CSDN博客 数据双向绑定原理_哔哩哔哩_bilibili 原理示意图 前置知识 reduce()方法 用于链式获取对象的属性值 Object.defineProperty()方法 Object.defineProperty(obj, prop, descriptor) obj&#xff1a;要定义属性的对象。prop&#xff1a;要定义或修改的属性…

睿考网:中级经济师报名条件中的相关工作怎么定义?

在中级经济师报考条件中&#xff0c;明确不同学历需要满足相关工作经验的要求&#xff0c;怎么看我的工作是否为相关工作呢&#xff1f; 1.从事经济类相关的工作岗位 也就是说考生在本单位从事的工作性质需要与经济行业相关&#xff0c;如本单位的财务、会计、审计、出纳等相…

原地旋转数组--189. 轮转数组

189. 轮转数组 给定一个整数数组 nums&#xff0c;将数组中的元素向右轮转 k 个位置&#xff0c;其中 k 是非负数。 示例 1: 输入: nums [1,2,3,4,5,6,7], k 3 输出: [5,6,7,1,2,3,4] 解释: 向右轮转 1 步: [7,1,2,3,4,5,6] 向右轮转 2 步: [6,7,1,2,3,4,5] 向右轮转 3 步:…

传授大伙如何用ai工具优化自己的代码》》拥抱机器时代》》提示词工程

之前在做数据开发时候遇到的问题数据表格批量生成建表的宏出问题了&#xff0c;此时只好硬着头皮写vba代码,此时您想我不会vba也不知道怎么使用但是sql语句建表格式总还是知道的那么此刻开始我们的提示词开发代码时刻 先进行具体提示词开发>>>>>>>>>…

SpringCloud nacos

**************************** 准备工作 首先准备号nacos的镜像 根据镜像创建nacos容器 nacos:container_name: nacosimage: nacos/nacos-server:v2.1.0-slimports: #需要监听三个端口- "8848:8848"- "9848:9848"- "9849:9849"privileged: tr…

Axure高效打造大屏可视化BI数据展示

在使用AxureRP软件设计大屏可视化BI数据显示模板时&#xff0c;我们可以遵循一系列高效的方法和步骤来确保设计的质量和效率。以下是一个详细的教程&#xff0c;指导如何高效地使用AxureRP进行大屏界面设计。 一、确定设计标准与分辨率 通常&#xff0c;大屏可视化设计以标准的…

MySQL事务【后端 13】

MySQL事务 在数据库管理系统中&#xff0c;事务&#xff08;Transaction&#xff09;是一个非常重要的概念&#xff0c;它确保了数据库操作的完整性和一致性。MySQL作为一种流行的关系型数据库管理系统&#xff0c;自然也支持事务处理。本文将深入探讨MySQL事务的基本概念、特性…

基于YOLOv8的PCB缺陷检测算法,加入一种基于内容引导注意力(CGA)的混合融合方案(一)

&#x1f4a1;&#x1f4a1;&#x1f4a1;本文内容&#xff1a;针对基于YOLOv8的PCB缺陷检测算法进行性能提升&#xff0c;加入各个创新点做验证性试验。 1&#xff09;提出了一种基于内容引导注意力(CGA)的混合融合方案&#xff0c;mAP0.5由原始的0.966提升至0.975 1.PCB缺陷…

Django 如何全局捕获异常和DEBUG

DEBUG 默认&#xff1a;False 一个开启、关闭调试模式的布尔值。 永远不要在 DEBUG 开启的情况下将网站部署到生产中。 调试模式的主要功能之一是显示详细的错误页面。如果你的应用程序在 DEBUG 为 True 时引发了异常&#xff0c;Django 会显示一个详细的回溯&#xff0c;包…

AplPost使用

请求get 方法 1&#xff0c;添加token 2&#xff0c;填写get 的参数 2,post方法 把对象的形式直接复制到row里面 3&#xff0c;delete方法 可以直接后面拼接参数

CTK框架(八):服务追踪

目录 1.简介 2.实现方式 3.具体实现 3.1.新建插件PluginA​​ 3.2.新建插件PluginB 4.服务追踪的优势 5.应用场景 6.总结 1.简介 CTK服务追踪是一种机制&#xff0c;用于在CTK插件框架中追踪和管理插件提供的服务。当一个插件注册了一个服务到服务注册中心后&#xff0…

SCADA|KingIOServer数据存入KingHistorian的过程记录

哈喽,你好啊,我是雷工! KingIOServer是采集数据的软件,KingHistorian是工业数据库; 最近用到KingIOServer采集到的数据存入到KingHistorian工业库,然后KingFusion再连接KingHistorian获取历史数据并曲线展示的应用功能; 以下为测试笔记; 01 软件安装 KingIOServer软…

动态代理IP池设计:打造高效网络工具

在互联网飞速发展的今天&#xff0c;动态代理IP池成为了网络世界中的一大法宝。无论是数据采集、网络营销还是电商运营&#xff0c;动态代理IP池都能提供极大的便利。今天&#xff0c;我们来深入探讨一下如何设计一个高效的动态代理IP池。 什么是动态代理IP池&#xff1f; 动…

高性能多目标进化优化算法求解DTLZ1-DTLZ9,MATLAB代码

DTLZ&#xff08;Deb-Thiele-Laumanns-Zitzler&#xff09;测试函数系列是多目标优化领域中一组广泛使用的基准测试问题。这些测试问题由Kalyanmoy Deb、Lothar Thiele、Marco Laumanns和Eckart Zitzler于2002年提出&#xff0c;旨在评估和比较多目标优化算法的性能。以下是DTL…

HTML5+CSS+JS制作中秋佳节页面

HTML5CSSJS制作中秋佳节页面 中秋节&#xff0c;是中国民间的传统节日。每年农历八月十五庆祝。 在中秋节这一天&#xff0c;人们会通过各种方式庆祝&#xff0c;其中最重要的活动之一就是赏月。家人团聚在一起&#xff0c;共同欣赏明亮的月亮。同时&#xff0c;吃月饼也是中秋…

【Go】-Gin框架

目录 Gin框架简介 简单示例 Gin渲染 HTML渲染 自定义模板函数 静态文件处理 使用模板继承 JSON渲染和XML渲染 获取参数 获取querystring参数 获取form参数 获取Path参数 参数绑定 文件上传 单个文件上传 参数 多个文件上传 重定向 HTTP重定向 路由重定向 …

【Tourism】Xianyang

文章目录 1、陕西省咸阳市2、清渭楼3、古渡廊桥4、古渡遗址博物馆5、文庙6、窦家BingBing面7、凤凰台8、安国寺9、福园巷子10、参考 1、陕西省咸阳市 咸阳市&#xff0c;陕西省辖地级市&#xff0c;地处陕西省关中平原中部&#xff0c;是中国大地原点所在地&#xff0c;其境东…

iPhone 16系列发布:硬件升级但创新乏力?iPhone还值得入手吗?

2024年苹果发布会如约而至&#xff0c;重磅推出了iPhone 16系列。然而&#xff0c;发布会结束后&#xff0c;许多科技评论员和用户不禁质疑&#xff1a;苹果的创新精神是否逐渐消退&#xff1f;从发布会的内容来看&#xff0c;iPhone 16在设计、性能上有所提升&#xff0c;但和…