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

news2025/7/15 14:15:26

目录

一、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.coloradmin.cn/o/2376831.html

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

相关文章

计量——检验与代理变量

1.非嵌套模型的检验 1Davidson-Mackinnon test 判断哪个模型好 log&#xff08;y&#xff09;β0β1x1β2x2β3x3u log&#xff08;y&#xff09;β0β1log&#xff08;x1&#xff09;β2log&#xff08;x2&#xff09;β3log&#xff08;x3&#xff09;u 1.对log&#xff…

HTML-实战之 百度百科(影视剧介绍)

本系列可作为前端学习系列的笔记&#xff0c;代码的运行环境是在HBuilder中&#xff0c;小编会将代码复制下来&#xff0c;大家复制下来就可以练习了&#xff0c;方便大家学习。 系列文章目录 HTML-1.1 文本字体样式-字体设置、分割线、段落标签、段内回车以及特殊符号 HTML…

计算机视觉---目标追踪(Object Tracking)概览

一、核心定义与基础概念 1. 目标追踪的定义 定义&#xff1a;在视频序列或连续图像中&#xff0c;对一个或多个感兴趣目标&#xff08;如人、车辆、物体等&#xff09;的位置、运动轨迹进行持续估计的过程。核心任务&#xff1a;跨帧关联目标&#xff0c;解决“同一目标在不同…

Weblogic SSRF漏洞复现(CVE-2014-4210)【vulhub靶场】

漏洞概述&#xff1a; Weblogic中存在一个SSRF漏洞&#xff0c;利用该漏洞可以发送任意HTTP请求&#xff0c;进而攻击内网中redis、fastcgi等脆弱组件。 漏洞形成原因&#xff1a; WebLogic Server 的 UDDI 组件&#xff08;uddiexplorer.war&#xff09;中的 SearchPublicR…

AI大模型应用:17个实用场景解锁未来

任何新技术的普及都需要经历一段漫长的过程&#xff0c;人工智能大模型也不例外。 尽管某些行业的从业者已经开始将大模型融入日常工作&#xff0c;但其普及程度仍远未达到“人手必备”的地步。 那么&#xff0c;究竟是什么限制了它的广泛应用&#xff1f;普通人如何才能用好…

java17

1.常见API之BigDecimal 底层存储方式&#xff1a; 2.如何分辨过时代码&#xff1a; 有横线的代码表示该代码已过时 3.正则表达式之字符串匹配 注意&#xff1a;如果X不是单一字符&#xff0c;需要加[]中括号 注意&#xff1a;1.想要表达正则表达式里面的.需要\\. 2.想要表…

C++算法(22):二维数组参数传递,从内存模型到高效实践

引言 在C程序设计中&#xff0c;二维数组的参数传递是许多开发者面临的棘手问题。不同于一维数组的相对简单性&#xff0c;二维数组在内存结构、类型系统和参数传递机制上都存在独特特性。本文将深入探讨静态数组、动态数组以及STL容器三种实现方式&#xff0c;通过底层原理分…

Lightpanda开源浏览器:专为 AI 和自动化而设计的无界面浏览器

​一、软件介绍 文末提供程序和源码下载 Lightpanda开源浏览器&#xff1a;专为 AI 和自动化而设计的无界面浏览器&#xff1b; Javascript execution Javascript 执行Support of Web APIs (partial, WIP)支持 Web API&#xff08;部分、WIP&#xff09;Compatible with Pla…

技术文档不完善,如何促进知识传承

建立统一的技术文档规范、引入文档自动化工具、将文档写作融入开发流程、建设团队知识共享文化 是促进知识传承的关键策略。在其中&#xff0c;尤应重视建立统一的技术文档规范&#xff0c;通过标准化文档结构、命名、版本管理等方式&#xff0c;提升文档质量和可维护性&#x…

Windows平台OpenManus部署及WebUI远程访问实现

前言&#xff1a;继DeepSeek引发行业震动后&#xff0c;Monica.im团队最新推出的Manus AI 产品正席卷科技圈。这款具备自主思维能力的全能型AI代理&#xff0c;不仅能精准解析复杂指令并直接产出成果&#xff0c;更颠覆了传统人机交互模式。尽管目前仍处于封闭测试阶段&#xf…

位运算题目:找到最接近目标值的函数值

文章目录 题目标题和出处难度题目描述要求示例数据范围 解法思路和算法代码复杂度分析 题目 标题和出处 标题&#xff1a;找到最接近目标值的函数值 出处&#xff1a;1521. 找到最接近目标值的函数值 难度 8 级 题目描述 要求 Winston 构造了一个如上所示的函数 func \…

哲学物理:太极图和莫比乌斯环有什么关系?

太极图 是中国传统文化中的经典符号,由阴阳两部分组成,黑白两色相互环绕,中间有两点表示阴中有阳,阳中有阴。太极图象征着对立统一、相互依存和动态平衡,是道家哲学的核心思想之一。 ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/477e67d70c2b4383bac3e12c8a6…

机器学习笔记1

一、 机器学习介绍与定义 1. 机器学习定义 机器学习&#xff08;Machine Learning&#xff09;本质上就是让计算机自己在数据中学习规律&#xff0c;并根据所得到的规律对未来数据进行预测。 机器学习包括如聚类、分类、决策树、贝叶斯、神经网络、深度学习&#xff08;Deep…

JVM中的安全点是什么,作用又是什么?

JVM中的安全点&#xff08;Safepoint&#xff09; 是Java虚拟机设计中的一个关键机制&#xff0c;主要用于协调所有线程的执行状态&#xff0c;以便进行全局操作&#xff08;如垃圾回收、代码反优化等&#xff09;。它的核心目标是确保在需要暂停所有线程时&#xff0c;每个线程…

关于github使用总结

文章目录 一、本地使用git&#xff08;一&#xff09;创建一个新的本地Git库首先在本地创建一个新的git仓库然后进行一次初始提交提交过后就可以查看提交记录 &#xff08;二&#xff09;在本地仓库进行版本恢复先执行 git log 查看项目提交历史使用 git checkout 恢复版本 二、…

2024年9月电子学会等级考试五级第三题——整数分解

题目 3、整数分解 正整数 N 的 K-P 分解是指将 N 写成 K 个正整数的 P 次方的和。本题就请你对任意给定的正整数 N、K、P&#xff0c;写出 N 的 K-P 分解。 时间限制&#xff1a;8000 内存限制&#xff1a;262144 输入 输入在一行给出 3 个正整数 N (≤ 400)、K (≤ N)、P (1 …

毕设设计 | 管理系统图例

文章目录 环素1. 登录、注册2. 菜单管理 环素 1. 登录、注册 2. 菜单管理 公告通知 订单管理 会员管理 奖品管理 新增、编辑模块

什么情况会导致JVM退出?

大家好&#xff0c;我是锋哥。今天分享关于【什么情况会导致JVM退出&#xff1f;】面试题。希望对大家有帮助&#xff1b; 什么情况会导致JVM退出&#xff1f; 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 JVM&#xff08;Java虚拟机&#xff09;退出的情况通常是…

实验6 电子邮件

实验6 电子邮件 1、实验目的 理解电子邮件系统基本结构 理解客户端和服务器端&#xff0c;以及服务器之间的通信 分析理解SMTP&#xff0c;POP3协议 2、实验环境 硬件要求&#xff1a;阿里云云主机ECS 一台。 软件要求&#xff1a;Linux/ Windows 操作系统 3、实验内容…

深入理解浏览器渲染引擎:底层机制与性能优化实战

现代浏览器背后是一个庞大而复杂的系统工程&#xff0c;渲染引擎作为核心模块之一&#xff0c;承担着从解析 HTML/CSS 到最终绘制页面的关键职责。本文将从底层机制出发&#xff0c;系统梳理渲染引擎&#xff08;如 Blink&#xff09;工作原理、V8 与渲染流程的协作方式&#x…