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

国外服装网站石岩做网站哪家好

国外服装网站,石岩做网站哪家好,安阳网站建设商祺,景宁县建设局网站1、什么是 Vue 生命周期Vue 生命周期(Lifecycle)是指 ​Vue 实例或组件从创建到销毁的整个过程,在这个过程中,Vue 会自动运行一些特定的函数,这些函数被称为 ​生命周期钩子(Lifecycle Hooks)​…

1、什么是 Vue 生命周期

        Vue 生命周期(Lifecycle)是指 ​Vue 实例或组件从创建到销毁的整个过程,在这个过程中,Vue 会自动运行一些特定的函数,这些函数被称为 ​生命周期钩子(Lifecycle Hooks)​​ 或 ​生命周期函数

        可以把这些钩子函数理解为 Vue 实例在不同阶段提供的“回调函数”​,你可以在这些阶段插入自己的代码逻辑,比如:

  • 数据初始化
  • 发送网络请求
  • 操作 DOM
  • 清理定时器、取消事件监听等

2、Vue 2 生命周期流程图

        下面是 Vue 2 生命周期的主要阶段和钩子函数,按执行顺序排列:

        1 、创建阶段(Initialization)​       

                beforeCreate

                created

   2、​挂载阶段(DOM Insertion)​

                beforeMount

                mounted

        3、​更新阶段(Re-render / Data Change)​

                beforeUpdate

                updated

        4、销毁阶段(Teardown)

                beforeDestroy

                destroyed

注意:Vue 3 中生命周期钩子函数有所变化(比如 beforeDestroy 改为 beforeUnmount

3、Vue 2 生命周期钩子函数详解

1、创建阶段
        1、beforeCreate
  • 时机​:实例刚被创建,​数据观测 (data observer) 和事件/侦听器还未初始化​
  • ​特点​:
    • 不能访问 data 中的数据
    • 不能访问 methods 中的方法
    • 不能访问 DOM
  • ​用途​:一般很少使用
    beforeCreate() {console.log('beforeCreate:', this.message) // undefined
    }
    2、created
  • 时机​:实例已经创建完成,​数据观测已完成,属性和方法已设置,但 DOM 还未生成,$el 还不可用​
  • ​特点​:
    • 可以访问 data 中的数据
    • 可以调用 methods 中的方法
    • ​不能访问 DOM(this.$el 为 undefined)​​
  • ​用途​:
    • 初始化数据
    • ​发送异步请求获取数据(如调用 API)​​
    • 执行一些不需要 DOM 的初始化逻辑
      created() {console.log('created:', this.message) // 可访问 data// 推荐在这里发起异步请求,此时 data 已初始化,DOM 还未渲染axios.get('/api/user').then(res => {this.user = res.data})
      }
        3、beforeMount
  • 时机​:在挂载开始之前被调用,相关的 ​render 函数首次被调用,但 DOM 还未渲染到页面上​
  • ​特点​:
    • 模板已经编译完成
    • 但还没有挂载到页面上,this.$el 还不可见
  • ​用途​:很少使用
        4、mounted
  • 时机​:​实例已经挂载到 DOM 上,可以访问 this.$el,DOM 已经渲染完成​
  • ​特点​:
    • 可以操作 DOM(比如初始化第三方库:图表、轮播图等)
    • 可以访问 this.$refs
    • 也可以调用请求后台接口的方法
  • ​用途​:
    • 操作 DOM
    • 初始化需要 DOM 的插件(如 ECharts、Swiper)
    • 执行依赖于 DOM 的代码
      mounted() {console.log('DOM 已挂载', this.$el)// 可以安全地操作 DOM 或调用第三方库// 比如初始化 ECharts 图表const chart = echarts.init(this.$refs.chartDom)chart.setOption({...})
      }
       
2、更新阶段(当数据变化时触发)
        5、beforeUpdate   
  • 时机​:数据发生变化,​虚拟 DOM 重新渲染​ ​之前​
  • ​特点​:
    • 可以获取更新前的 DOM 状态
    • 但此时视图还未更新
  • ​用途​:一般较少使用,可用于某些特殊 DOM 操作
        6、 updated
  • 时机​:由于数据更改导致的 ​虚拟 DOM 重新渲染和打补丁之后​
  • ​特点​:
    • 组件 DOM 已经更新
    • 可以操作更新后的 DOM
  • ​用途​:
    • 操作更新后的 DOM(但要避免无限循环)
    • 注意:​不要在此钩子中修改数据,可能会导致无限循环更新

3、销毁阶段(组件销毁时)
        7、beforeDestroy (常用)
  • 时机​:​实例销毁之前调用​
  • ​特点​:
    • 实例仍然完全可用
    • ​适合做清理工作​
  • ​用途​:
    • 清除定时器
    • 移除事件监听
    • 取消网络请求
    • 销毁第三方库实例
      data() {return {timer: null}
      },created() {this.timer = setInterval(() => {console.log('定时运行中...')}, 1000)
      },beforeDestroy() {console.log('组件即将销毁')clearInterval(this.timer)  // 避免内存泄漏
      }
        8、destroyed
  • 时机:​实例销毁后调用​
  • ​特点​:
    • 所有的子组件也都被销毁
    • 组件已经从 DOM 中移除,所有绑定的事件、监听器都已被移除
  • ​用途​:收尾工作(一般较少使用)

4、钩子函数总结

钩子函数时机说明是否可访问 data/methods是否可访问 DOM常见用途
beforeCreate实例刚初始化,data 和 methods 还未初始化极少使用
created实例已创建,data 和 methods 可用,但 DOM 未生成初始化数据、发请求
beforeMount模板已编译,但尚未挂载到页面上很少使用
mounted实例已挂载到真实 DOM,可以操作 DOM操作 DOM、初始化插件
beforeUpdate数据变化,虚拟 DOM 重新渲染之前​❌(旧DOM)极少使用
updated数据变化导致 DOM 重新渲染之后​✅(新DOM)操作更新后的 DOM
beforeDestroy组件销毁前,实例仍可用,适合做清理工作清理定时器、事件、请求
destroyed组件已销毁,所有子组件也被销毁收尾工作

5、Vue 2 生命周期钩子函数与 Vue 3 对比

Vue 2Vue 3(Composition API)对应
beforeCreatesetup() 开始之前
createdsetup() 中
beforeMountonBeforeMount
mountedonMounted
beforeUpdateonBeforeUpdate
updatedonUpdated
beforeDestroyonBeforeUnmount
destroyedonUnmounted

注意:如果使用 Vue 3,生命周期钩子函数是通过 onXxx 形式使用,在 setup() 函数中导入调用。

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

相关文章:

  • 超越单边控制:介绍新一代对话智能体评测基准τ2-Bench
  • Scala • basis
  • vi设计公司深圳企业网站排名怎么优化
  • 深度学习视角下的图像分类技术体系总结
  • mysql数据库最新版下载,安装
  • 记2831.找出最长等值子数组 练习理解
  • 优秀网站作品下载免费广告设计模板网站
  • 住房和城乡建设部官方网站发布郑州发布会最新消息
  • 中国建站公司重庆装修公司网站建设
  • 怎样建网站域名公司建网站多少钱合适
  • 学习峰岹MOTORSIM(Day4)——电机磁铁变弱,转速反而飙升?
  • 网页搜索记录怎么删除神马seo服务
  • interface g0/0/0.1 概念及题目
  • 网站首页引导页 模版银行官网登录入口
  • 网站运营代理淘宝网站建设违规吗
  • 基于岗课赛证的中职物联网专业“综合布线课程”教学解决方案
  • 连接蓝牙时“无媒体信号”怎么办?
  • Java后端面经(八股——Redis)
  • 津做网站百度公司在哪里
  • 运用.net做网站做网站不知道做什么内容的
  • 4、除了常见的 services(业务微服务)和 gateway(API 网关)模块外,还必须建立一系列支撑性、平台级、基础设施类模块
  • 十堰的网站建设网站资料库建设的功能需求
  • 国家企业信用网查询系统杭州网站建设优化
  • ApplicationContext接口实现(二)
  • BMAD方法论:敏捷价值、原则映射与全生命周期技术
  • 龙游网站建设专业网站建设代理
  • 《道德经》第一章
  • dinov3 foreground_segmentation.ipynb魔改py ,不走torch.hub 训练
  • 广饶县住房和城乡建设局网站系统下载 网站 源码
  • 重庆建站塔山双喜烟台网站设计制作公司电话