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

Vue3生命周期

文章目录

  • 前言
  • 钩子函数
  • 代码展示1
  • 代码展示2


前言

组件从创建到销毁的整个过程就是生命周期
请添加图片描述

钩子函数

提示:VUE3生命周期:

1、创建初始化

  1. 实例创建之前:beforeCreate
  2. 实例创建完毕:created

2、DOM挂载

  1. DOM挂载之前:beforeMount
  2. DOM挂载完毕:mounted

3、数据更新

  1. 数据更新之前:beforeUpdate
  2. 数据更新完毕:updated

4、结束 DOM 卸载

  1. 结束 DOM 卸载之前:beforeUnmount
  2. 结束 DOM 卸载完毕:unmounted

每一个阶段都有两个钩子函数,每一个钩子函数都是一个配置项
最常用的是:mounted 函数

实际应用中,在挂载完成钩子函数中,要发送请求给后端程序,获取后端返回的真实数据

代码展示1

使用Vue.js实现生命周期演示页面

提示:以下是本篇文章正文内容,下面案例可供参考
下面代码展示了Vue.js框架中,不同生命周期钩子函数的基本功能和使用方法,以及如何在不同的阶段执行相应的操作。

<!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"><h1>创建初始化  挂载  更新  结束挂载----(vue生命周期)</h1><h1 @click="f1">{{name}}</h1><p v-for="(item, index) in businesslist">{{item}}</p></div>
</body>
<script src="../js/vue3.js"></script>
<script>let vm = Vue.createApp({data() {return {name: '猫抓',gamelist: []}},methods: {f1(){this.name = this.name+'老鼠'}},beforeCreate() {console.log('创建初始化之前');},created() {console.log('创建初始化完成');},beforeMount() {console.log('挂载之前');},mounted() {console.log('挂载完成');// 实际应用中,在挂载完成钩子函数中,要发送请求给后端程序,获取后端返回的真实数据this.gamelist.push('汤姆')this.gamelist.push('杰瑞')this.gamelist.push('斯派克')},beforeUpdate() {console.log('更新之前');},updated() {console.log('更新结束');},beforeUnmount() {console.log('结束挂载之前');},unmounted() {console.log('结束挂载完成');},})vm.mount('#app')
</script>
</html>

输出效果:

在控制台输入vm . unmount()结束(实例名字叫vm)
请添加图片描述

上面的代码是一个使用Vue.js实现生命周期演示页面的示例。
其中包括了Vue.js提供的生命周期钩子函数,分别是:beforeCreatecreatedbeforeMountmountedbeforeUpdateupdatedbeforeUnmountunmounted
这些钩子函数会在不同的阶段被调用,用于对应阶段的操作。

在页面中,定义了一个id为"app"的div容器,其中包含了一个标题和一个通过v-for指令遍历businesslist数组的p标签。
在Vue实例中,定义了两个数据属性:namegamelist(模拟猫和老鼠游戏为例),以及一个方法f1。对应的生命周期钩子函数中分别输出了相应的信息,以便在控制台中查看功能实现的过程。

代码展示2

在这里插入图片描述
引入
在这里插入图片描述
创建:setup

在这里插入图片描述
挂载:onBeforeMountonMounted
在这里插入图片描述
更新:onBeforUpdateonUpdated

在这里插入图片描述
卸载:onBeforeUnmountonUnmounted
在这里插入图片描述
在这里插入图片描述

http://www.dtcms.com/a/322181.html

相关文章:

  • ZK首次连接失败,第二次连接成功的问题解决方案
  • AI入门学习--如何对RAG测试
  • Flutter开发 Switch、SwitchListTile的基本使用
  • 嵌入式LINUX—————系统编程
  • Javascript中的一些常见设计模式
  • 小程序中使用echarts(2025/8/8)
  • 最近看到的提示词相关内容汇总
  • Document Picture-in-Picture API拥抱全新浮窗体验[参考:window.open]
  • K-Means 聚类
  • 液体泄漏识别误报率↓76%:陌讯多模态融合算法实战解析
  • 94、【OS】【Nuttx】【构建】cmake 配置介绍
  • 【Linux】Linux增删改查命令大全(附频率评级)
  • 批量将NC格式数据转换为TIF格式:解决转换后图像颠倒、镜像、翻转等问题
  • 深度剖析主流AI大模型的编程语言与架构选择:行业实践与技术细节解读
  • Uipath Studio中爬取网页信息
  • 安装CST时,报错问题处理
  • 几个概率分布在机器学习应用示例
  • Java-反射
  • C++编程之旅-- -- --类与对象的奇幻征途之初识篇(一)(了解类的基本用法,计算类大小,分析this指针)
  • 【完整源码+数据集+部署教程】海洋物体实例分割系统源码和数据集:改进yolo11-EfficientHead
  • Java【问题 07】SSH不同版本使用jsch问题处理(7.4升级9.7及欧拉原生8.8)
  • WD5202 非隔离降压转换芯片,220V降5V,输出电流80MA
  • Java学习Collection单列集合中的三种通用遍历方法
  • 【Erdas实验教程】029:遥感图像光谱增强(缨帽变换)
  • 经济学从业者职业发展认证体系分析
  • 在 Git 中,将本地分支的修改提交到主分支
  • 数据结构--哈希表与排序、选择算法
  • PVE 9.0 保姆级安装及优化教程(换源、网络配置、远程唤醒等)【基础篇】
  • 农行鉴权问题
  • 嵌入式 Linux 驱动开发常见问题排查宝典(驱动开发篇)v1.0