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

Vue 生命周期详解(重点:mounted)

Vue 生命周期详解(重点:mounted

Vue 实例在创建到销毁的过程中,会经历一系列的初始化过程,比如数据的初始化、DOM 的挂载、组件的更新与销毁等。Vue 为我们提供了一组生命周期钩子函数,让我们可以在特定的时机执行自定义代码。

生命周期总体流程(简述)

下面是一个典型的 Vue 实例的生命周期流程:

beforeCreate → created → beforeMount → mounted → beforeUpdate → updated → beforeDestroy → destroyed

什么是 mounted

mounted 是 Vue 实例生命周期中的一个钩子函数,表示:

当前 Vue 实例已经被挂载到页面中,相关的 DOM 元素也已经被渲染完毕。

换句话说,当 mounted 被调用时,HTML 页面上我们用 Vue 控制的部分已经出现在浏览器上,Vue 可以访问并操作页面中的 DOM 元素,也可以发送网络请求更新数据。


mounted 的常见用途

  1. 发送 AJAX 请求加载页面数据
  2. 初始化第三方插件或图表(如 ECharts、Swiper 等)
  3. 操作 DOM 元素(获取宽高、添加样式等)
  4. 开启定时器或轮询机制
  5. 监听窗口事件(resize、scroll 等)

示例一:在 mounted 中加载用户数据

假设我们要在页面加载后获取用户列表信息,可以在 mounted 中发起请求:

mounted() {axios.get('http://localhost:8080/account/list?page=1&size=2').then(response => {this.array = response.data.records;this.total = response.data.total;this.page = response.data.current;this.size = response.data.size;})
}

这段代码做了什么?

  • 当页面加载完毕后,自动执行 axios.get(...) 这一请求;
  • 请求的结果用于更新 Vue 实例的 arraytotalpagesize
  • 更新的数据自动绑定到表格和分页控件中,Vue 会响应式更新视图,无需手动操作 DOM。

示例二:和 created 的区别

有人可能会问:为什么不在 created 中发送请求?下面是两者的比较:

钩子函数执行时机是否可以访问 DOM常见用途
created实例创建后,DOM 未挂载初始化数据、配置全局状态等
mountedDOM 元素已插入到页面中发请求、访问 DOM、初始化插件等

简单来说,如果你不需要访问 DOM(只是设置数据),用 created
如果你需要操作页面上的元素(如表格、图表、轮播图等),用 mounted 更安全。


示例三:结合 Vue 模板的真实项目场景

以你的分页表格项目为例,我们在 mounted 中第一次加载第一页的数据。

mounted() {this.loadData(this.page);
},
methods: {loadData(currentPage) {axios.get(`http://localhost:8080/account/list?page=${currentPage}&size=${this.size}`).then(resp => {this.array = resp.data.records;this.total = resp.data.total;this.page = resp.data.current;this.size = resp.data.size;})}
}

作用:

  • 页面初次加载时自动加载第一页数据;
  • 数据加载完成后,Vue 自动将结果渲染到 <el-table> 表格组件上;
  • 与分页组件联动,切换页码时也重新请求。

补充:其他常用生命周期钩子

钩子函数含义说明
beforeCreateVue 实例初始化前调用,无法访问 datamethods
createdVue 实例创建后调用,可以访问 data,但 DOM 未渲染
beforeMountDOM 挂载前调用
mountedDOM 挂载后调用,适合发送请求或初始化 DOM 操作
beforeUpdate数据更新前调用
updatedDOM 更新完成后调用
beforeDestroy实例销毁前调用
destroyed实例销毁后调用

小结:mounted 的本质

  • 适用于需要在页面渲染后进行“首次初始化”操作的场景;
  • 比如从后台加载数据、初始化图表、访问 HTML 元素等;
  • mounted 只会执行一次,页面重新加载组件时才会再次触发。
http://www.xdnf.cn/news/13561.html

相关文章:

  • Tomcat线程模型
  • bash挖矿木马事件全景复盘与企业级防御实战20250612
  • 干货分享|JumpServer PAM特权账号管理功能详解
  • WPF将容器内的组件按比例缩放
  • RAG实战:基于LangChain的《肖申克的救赎》知识问答系统构建指南
  • 医疗集团级“人-机-料-法-环”全流程质控的医疗数据质控方案分析
  • Verilog基础:标识符的定义位置
  • Seedance:字节发布视频生成基础模型新SOTA,能力全面提升
  • Java虚拟机解剖:从字节码到机器指令的终极之旅(一)
  • DRG支付场景模拟器扩展分析:技术实现与应用价值
  • Windows 前端开发环境一键启动 (NVM + Yarn)
  • 第五十一天打卡
  • EtherCAT转CANopen网关与伺服器在汇川组态软件上的配置步骤
  • 【AI论文】Qwen3 嵌入:通过基础模型推进文本嵌入和重新排序
  • JavaWeb期末速成 样题篇
  • JSON 技术:从核心语法到编辑器
  • ruoyi框架添加开始事件自定义属性解释
  • 模拟IC设计基础系列6-差动放大器 Differential AMP
  • 大模型技术30讲-4-彩票假设
  • MCP(Model Context Protocol)与 LangChain的区别与联系
  • 标识符和预处理 day12
  • 6.10[A]BB84 量子
  • 一般增长率
  • Kubernetes 从入门到精通-ReplicaSet控制器
  • 超级神冈探测器2025.6.11
  • Java多线程通信核心机制详解
  • 通过共享内存在多程序之间实现数据通信
  • Python实例题:Python计算泛函分析
  • Linux操作系统故障排查案例实战
  • 南京师范大学 AM:焦耳加热 “点亮” 高效析氢新路径