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

Vue的生命周期

一、生命周期是什么

生命周期(Life Cycle)的概念应用很广泛,特别是在政治、经济、环境、技术、社会等诸多领域经常出现,其基本涵义可以通俗地理解为“从摇篮到坟墓”(Cradle-to-Grave)的整个过程在Vue中实例从创建到销毁的过程就是生命周期,即指从创建、初始化数据、编译模板、挂载Dom→渲染、更新→渲染、卸载等一系列过程我们可以把组件比喻成工厂里面的一条流水线,每个工人(生命周期)站在各自的岗位,当任务流转到工人身边的时候,工人就开始工作PS:在Vue生命周期钩子会自动绑定 this 上下文到实例中,因此你可以访问数据,对 property 和方法进行运算这意味着你不能使用箭头函数来定义一个生命周期方法 (例如 created: () => this.fetchTodos())

二、生命周期有哪些

一、生命周期

Vue 组件的生命周期分为 8 个核心阶段3 个特殊场景钩子,贯穿组件从创建到销毁的整个过程。以下是各阶段的详细说明:

生命周期钩子触发时机典型应用场景
beforeCreate组件实例刚被创建,尚未初始化数据和 DOM可在此阶段添加加载动画、初始化非响应式数据。
created组件实例创建完成,数据观测(data)和方法(methods)已初始化,但未开始渲染 DOM。发送 AJAX 请求获取数据、注册全局事件监听。
beforeMount组件 即将挂载到 DOM,此时 $el 已生成(虚拟 DOM),但未插入真实 DOM。访问渲染前的虚拟 DOM 结构,或在渲染前修改组件配置。
mounted组件 已挂载到真实 DOM$el 存在且可操作。操作真实 DOM(如初始化第三方库,如 Vue.js 与 jQuery 结合)、绑定滚动事件等。
beforeUpdate组件数据更新前触发,虚拟 DOM 尚未重新渲染可在此阶段获取更新前的 DOM 状态,或阻止不必要的更新(需结合 nextTick)。
updated组件数据更新完成,虚拟 DOM 重新渲染并打补丁到真实 DOM依赖更新后 DOM 结构的操作(如计算滚动位置、调整图表尺寸),需避免在此触发更新。
beforeDestroy组件 即将被销毁,实例仍可用。清除定时器、解绑全局事件、取消订阅等收尾工作,防止内存泄漏。
destroyed组件 已被销毁,所有子组件、事件监听和 DOM 关联被移除。无实际操作场景,仅用于确认销毁完成(如打印日志)。
二、特殊场景生命周期(3 钩子)
生命周期钩子触发时机适用场景
activated<keep-alive> 缓存的组件 激活时(首次进入或切回)。恢复组件状态(如重置滚动位置)、重新请求数据(需结合 deactivated 缓存数据)。
deactivated<keep-alive> 缓存的组件 停用时(离开页面或切换路由)。暂停动画、取消定时器、缓存当前组件状态(如表单数据)。
errorCaptured捕获到 子孙组件抛出的错误 时触发。全局错误处理(如记录错误日志、显示错误提示),可返回 false 阻止向上传播。

在这里插入图片描述

http://www.xdnf.cn/news/717139.html

相关文章:

  • 技术栈ES的介绍和使用
  • java每日精进 5.29【请求限流】
  • 7-Zip 工具使用
  • How to Initiate Back-to-Back Write Transactions from Master
  • DMBOK对比知识点整理(4)
  • 力扣HOT100之动态规划:118. 杨辉三角
  • 今日分享:怎么综合分析5星股票?
  • 【Unity博客节选】Playable Graph Monitor 安装使用
  • 安全帽检测算法AI智能分析网关V4守护工地/矿山/工厂等多场景作业安全
  • Accelerate实现多卡并行训练
  • Nexus仓库数据高可用备份与恢复方案(上)
  • MVCC(多版本并发控制)机制
  • Cangjie 中的值类型与引用类型
  • 设置变体控制两个apk, 一个是有密码,一个是没有密码!
  • 英语写作中“广泛、深入、详细地(的)”extensively、in-depth、at length (comprehensive )的用法
  • 46. Permutations和47. Permutations II
  • Spring Event(事件驱动机制)
  • 力扣面试150题--二叉树的右视图
  • leetcode hot100刷题日记——27.对称二叉树
  • ubuntu系统上运行jar程序输出时间时区不对
  • C#实现单实例应用程序:确保程序唯一运行实例
  • 算法第32天|509. 斐波那契数、70. 爬楼梯、746. 使用最小花费爬楼梯
  • 构筑电网“无形防线”: 防外破告警在线监测服务系统
  • 如何批量给局域网内网里的电脑发送信息
  • STM32 HAL库函数学习 GPIO篇
  • 【Redis】RDB和AOF混合使用
  • Java求职面试:从核心技术到AI与大数据的全面考核
  • 网络编程之网络编程预备知识
  • Python对接GPT-4o API接口:聊天与文件上传功能详解
  • 人工智能浪潮下,制造企业如何借力DeepSeek实现数字化转型?