当前位置: 首页 > ds >正文

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.xdnf.cn/news/6569.html

相关文章:

  • 分类预测 | Matlab实现ABC-Transformer人工蜂群算法优化编码器多特征分类预测/故障诊断Matlab实现
  • 抢购Python代码示例与技术解析
  • 1C:ENTERPRISE 8.3 实用开发者指南-示例和标准技术(Session1-Session3)
  • 《模版初阶》
  • matlab多项式
  • 【unity游戏开发——编辑器扩展】EditorGUIUtility提供一些 EditorGUI 相关的其他辅助API
  • 车载诊断架构 ---车载总线对于功能寻址的处理策略
  • 北京孙河傲云源墅:限量典藏的主城墅居臻品
  • 3.3 掌握RDD分区
  • 密码学刷题小记录
  • 一物一码赋能智能制造:MES如何实现生产全流程数字化追溯
  • JAVA单元测试、反射
  • 在ubuntu系统中将vue3的打包文件dist 部署nginx 并且配置ssl证书 以https方式访问
  • 2025年5月15日
  • 广度和深度优先搜索(BFS和DFS)
  • Ubuntu20.04下如何源码编译Carla,使用UE4源码开跑,踩坑集合
  • Secs/Gem第七讲(基于secs4net项目的ChatGpt介绍)
  • 驱动-Linux定时-timer_list
  • ollama 重命名模型
  • 每日一道leetcode(新学数据结构版)
  • CISA 备考通关经验及回忆题分享
  • 1:OpenCV—图像基础
  • python打卡day26
  • 【开源Agent框架】OWL:面向现实任务自动化的多智能体协作框架深度解析
  • 从代码学习深度学习 - 风格迁移 PyTorch版
  • 中国科学院计算所:从 NFS 到 JuiceFS,大模型训推平台存储演进之路
  • 【知识点】大模型面试题汇总(持续更新)
  • SQLPub:一个提供AI助手的免费MySQL数据库服务
  • 智慧化系统安全分析报告
  • AI学习博文链接