Vue3学习(组合式API——生命周期函数基础)

目录

一、Vue3组合式API中的生命周期函数。

(1)各阶段生命周期涉及函数简单介绍。

<1>创建挂载阶段的生命周期函数。

<2>更新阶段的生命周期函数。

<3>卸载阶段的生命周期函数。

<4>错误处理的生命周期函数。

(2)Vue3生命周期API——选项式与组合式对比。

Vue2 选项式、Vue3 选项式/组合式的卸载阶段生命周期API对比。

(3)以Vue3组合式 onMounted 生命周期函数代码示例。

<1>beforeCreate与created。(setup)

<2>onMounted。


一、Vue3组合式API中的生命周期函数。

(1)各阶段生命周期涉及函数简单介绍。
  • Vue3 中组合式 API 的生命周期函数,是在组件不同阶段执行特定操作的回调函数通过 “onXXX” 形式实现,在 setup() 内调用

<1>创建挂载阶段的生命周期函数。
  • onBeforeMount组件挂载到 DOM 前触发。可初始化非响应式数据、设置全局状态。
  • onMounted组件挂载到 DOM 后触发。常用于 DOM 操作、获取数据、启动计时器等。

<2>更新阶段的生命周期函数。
  • onBeforeUpdate响应式数据变化,组件更新前触发。可用于比较数据变化、执行更新前逻辑。
  • onUpdated组件更新完成后触发。可进行 DOM 操作、更新 UI。

<3>卸载阶段的生命周期函数。
  • onBeforeUnmount组件卸载前触发。适合做清理工作,如移除事件监听器等。
  • onUnmounted组件卸载后触发。用于执行最终清理,像销毁定时器、释放资源等。
<4>错误处理的生命周期函数。
  • onErrorCaptured捕获子组件运行时错误。可处理错误、给出错误提示 。
(2)Vue3生命周期API——选项式与组合式对比。
选项式生命周期API组合式生命周期API
beforeCreate/createdsetup
beforeMountonBeforeMount
mountedonMounted
beforeUpdateonBeforeUpdate
updatedonUpdated
beforeUnmountonBeforeUnmount
unmountedonUnmounted

  • 注意:Vue3中是支持选项式API的。不过一般使用组合式API。逻辑方便复用、维护



  • Vue2 选项式、Vue3 选项式/组合式的卸载阶段生命周期API对比。
Vue2 选项式 APIVue3 选项式 APIVue3 组合式 API作用场景
beforeDestroybeforeUnmountonBeforeUnmount组件卸载前的清理工作
destroyedunmountedonUnmounted组件卸载后的最终清理
(3)以Vue3组合式 onMounted 生命周期函数代码示例。
<1>beforeCreate与created。(setup)
  • 代码示例。
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head><body><div id="app"></div><script type="module">import { createApp, ref } from './vue.esm-browser.js'createApp({setup() {//beforeCreate、created相关代码一律放在setup中const getList = () => {//模拟发请求setTimeout(() => {console.log('发送请求,获取数据List')}, 2000)}getList()return {}}}).mount('#app')</script>
</body></html>

  • 效果。


<2>onMounted。
  • 代码示例。
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head><body><div id="app"></div><script type="module">import { createApp, ref, onMounted } from './vue.esm-browser.js'createApp({setup() {//beforeCreate、created相关代码一律放在setup中const getList = () => {//模拟发请求setTimeout(() => {console.log('发送请求,获取数据List')}, 2000)}//一进入页面的请求getList()//假设某些代码需在mounted生命周期执行onMounted(() => {console.log('mounted生命周期函数')})return {}}}).mount('#app')</script>
</body></html>

  • 效果。


  • 生命周期函数写成函数的调用方式,可以多次进行调用。(可写不同的逻辑,不会冲突且按照先后执行)
  • 代码示例。
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head><body><div id="app"></div><script type="module">import { createApp, ref, onMounted } from './vue.esm-browser.js'createApp({setup() {//beforeCreate、created相关代码一律放在setup中const getList = () => {//模拟发请求setTimeout(() => {console.log('发送请求,获取数据List')}, 2000)}//一进入页面的请求getList()//假设某些代码需在mounted生命周期执行onMounted(() => {console.log('mounted生命周期函数,逻辑1')})//写成函数的调用方式,可以调用多次。// 调用一次函数提供一个钩子,不会冲突,按照先后进行执行onMounted(() => {console.log('mounted生命周期函数,逻辑2')})return {}}}).mount('#app')</script>
</body></html>

  • 效果。

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

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

相关文章

道通EVO MAX系列无人机-支持二次开发

道通EVO MAX系列无人机-支持二次开发 EVO Max 系列采用Autel Autonomy自主飞行技术&#xff0c;实现复杂环境下的全局路径规划、3D场景重建、自主绕障和返航&#xff1b;高精度视觉导航能力&#xff0c;使其在信号干扰强、信号遮挡、信号弱等复杂环境下&#xff0c;依然获得高精…

网张实验操作-防火墙+NAT

实验目的 了解防火墙&#xff08;ENSP中的USG5500&#xff09;域间转发策略配置、NAT&#xff08;与路由器NAT配置命令不同&#xff09;配置。 网络拓扑 两个防火墙连接分别连接一个内网&#xff0c;中间通过路由器连接。配置NAT之后&#xff0c;内网PC可以ping公网&#xf…

FPGA: UltraScale+ bitslip实现(方案+代码)

收获 一晃五年~ 五年前那个夏夜&#xff0c;我对着泛蓝的屏幕敲下《给十年后的自己》&#xff0c;在2020年的疫情迷雾中编织着对未来的想象。此刻回望&#xff0c;第四届集创赛的参赛编号仍清晰如昨&#xff0c;而那个在家熬夜焊电路板的"不眠者"&#xff0c;现在…

机器学习笔记2

5 TfidfVectorizer TF-IDF文本特征词的重要程度特征提取 (1) 算法 词频(Term Frequency, TF), 表示一个词在当前篇文章中的重要性 逆文档频率(Inverse Document Frequency, IDF), 反映了词在整个文档集合中的稀有程度 (2) API sklearn.feature_extraction.text.TfidfVector…

UV 快速入门和使用案例

UV 快速入门和使用案例 作者&#xff1a;王珂 邮箱&#xff1a;49186456qq.com 文章目录 UV 快速入门和使用案例简介一、安装1.1 安装包安装1.2 从 PyPI 安装二、使用2.1 创建项目2.2 包管理2.3 工具2.4 Python 版本 简介 官网&#xff1a; 项目&#xff1a; https://githu…

质控脚本来喽

好久不更新&#xff0c;上个硬货。脚本需提前准备宿主和rrna的bowtie2索引文件&#xff0c;原始数据的命名方式为{sample}_raw_1/2.fq.gz&#xff0c;保存有原始数据路径的文件&#xff0c;保存样品列表的文件。 最后打个广告&#xff0c;欢迎畜牧学方向的研究生报考兰州大学。…

Linux Bash | Capture Output / Recall

注&#xff1a;本文为 “Linux Bash | Capture Output / Recall” 相关文章合辑。 英文引文&#xff0c;机翻未校。 中文引文&#xff0c;略作重排。 Automatically Capture Output of the Last Command Into a Variable Using Bash 使用 Bash自动将最后一个命令的输出捕获到…

编程题 03-树2 List Leaves【PAT】

文章目录 题目输入格式输出格式输入样例输出样例 题解解题思路完整代码 编程练习题目集目录 题目 Given a tree, you are supposed to list all the leaves in the order of top down, and left to right. 输入格式 Each input file contains one test case. For each case, …

QT设置MySQL驱动

QSqlDatabase: QMYSQL driver not loaded QSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL3 QODBC QODBC3 QPSQL QPSQL7 第一步&#xff1a;下载MySQL https://dev.mysql.com/downloads/mysql/ 解压缩下载的安装包&#xff0c;其目录结构如下所示&#xff1a; 第二…

ABP User Interface-Angular UI中文详解

本系列文章主要用于对ABP User Interface-Angular UI &#xff08;Angular UI | ABP.IO Documentation&#xff09;不分的中文讲解以及记录自己在学习过程中发现的容易出错的地方。 1. 开发Development 2. 核心功能Core Functions 3. 通用组件Utilities 4. 自定义Customiza…

常用负载均衡技术有哪些?不同网络层面上的网络负载均衡技术

前言 负载均衡是一种策略&#xff0c;它能让多台服务器或多条链路共同承担一些繁重的计算或I/O任务&#xff0c;从而以较低成本消除网络瓶颈&#xff0c;提高网络的灵活性和可靠性。 在系统管理员发现网络性能不好时&#xff0c;可以通过网络负载均衡来分配资源&#xff0c;以…

ARMV8 RK3399 u-boot TPL启动流程分析 --crt0.S

上一篇介绍到start.S 最后一个指令是跳转到_main, 接下来分析 __main 都做了什么 arch/arm/lib/crt0.S __main 注释写的很详细&#xff0c;主要分为5步 1. 准备board_init_f的运行环境 2. 跳转到board_init_f 3. 设置broad_init_f 申请的stack 和 GD 4. 完整u-boot 执行re…

RabbitMQ--进阶篇

RabbitMQ 客户端整合Spring Boot 添加相关的依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-amqp</artifactId> </dependency> 编写配置文件&#xff0c;配置RabbitMQ的服务信息 spri…

Redis--基础知识点--27--redis缓存分类树

在 Redis 中存储分类树&#xff0c;通常需要选择合适的数据结构来表现层级关系。以下是使用 字符串&#xff08;String&#xff09; 和 哈希&#xff08;Hash&#xff09; 两种常见方案的举例说明&#xff0c;结合电商分类场景&#xff08;如 电子产品 > 手机 > 智能手机…

【C++】汇编角度分析栈攻击

栈攻击 介绍原理示例代码汇编分析 介绍原理 核心原理是通过 缓冲区溢出&#xff08;Buffer Overflow&#xff09; 等漏洞&#xff0c;覆盖栈上的关键数据&#xff08;如返回地址、函数指针&#xff09;&#xff0c;从而改变程序执行流程&#xff1b; 在 C 中&#xff0c;每个…

访问 Docker 官方镜像源(包括代理)全部被“重置连接”或超时

华为云轻量应用服务器&#xff08;Ubuntu 系统&#xff09; 遇到的问题是&#xff1a; &#x1f512; 访问 Docker 官方镜像源&#xff08;包括代理&#xff09;全部被“重置连接”或超时了&#xff0c;说明你这台服务器的出境网络对这些国外域名限制很严格&#xff0c;常见于华…

Java语言

本文来源 &#xff1a; 腾讯元宝 Java是一种面向对象、跨平台的高级编程语言&#xff0c;最初由Sun Microsystems&#xff08;现为Oracle公司所有&#xff09;于1995年推出&#xff0c;广泛应用于Web开发、移动应用、大数据处理、嵌入式系统等领域。以下是其核心特点和应用概述…

无偿帮写毕业论文(看不懂的可以私信博主)

以下教程教你如何利用相关网站和AI免费帮你写一个毕业论文。毕竟毕业论文只要过就行&#xff0c;脱产学习这么多年&#xff0c;终于熬出头了&#xff0c;完成毕设后有空就去多看看亲人好友&#xff0c;祝好&#xff01; 一、找一个论文模板 废话不多说&#xff0c;先上干货Ov…

python打卡day26

函数、参数、变量 知识点回顾&#xff1a; 函数的定义变量作用域&#xff1a;局部变量和全局变量函数的参数类型&#xff1a;位置参数、默认参数、不定参数传递参数的手段&#xff1a;关键词参数传递参数的顺序&#xff1a;同时出现三种参数类型时 def function_name(parameter…

LeetCode 热题 100 437. 路径总和 III

LeetCode 热题 100 | 437. 路径总和 III 大家好&#xff0c;今天我们来解决一道经典的二叉树问题——路径总和 III。这道题在 LeetCode 上被标记为中等难度&#xff0c;要求计算二叉树中节点值之和等于给定目标值 targetSum 的路径数目。 问题描述 给定一个二叉树的根节点 ro…