[Vue] vue的生命周期

本文详细介绍了Vue实例的生命周期,从创建到销毁的各个阶段,包括beforeCreate、created、beforeMount、mounted、beforeUpdate、updated、beforeDestroy和destroyed等关键钩子函数。每个阶段都有其特定的作用,理解这些生命周期对于优化Vue应用和编写高效组件至关重要。Vue实例在不同阶段执行不同的操作,如数据初始化、模板编译、DOM挂载和更新、以及资源清理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

是什么? 

生命周期就是每一个vue实例从创建到销毁的过程。在这个过程中,他经历了从开始创建、初始化数据、编译模板、挂载Dom、渲染→更新→渲染、卸载等一系列过程。

①生命周期又名:生命周期回调函数、生命周期钩子、生命周期函数。

②生命周期函数的名字不可更改,但函数的具体内容可以根据需求编写。

③生命周期函数中的this指向是vm 或 组件实例对象。

vue生命周期流程图:

1.初始化阶段:       

①new Vue() – Vue实例化(组件也是一个小的Vue实例)

②Init Events & Lifecycle – 初始化事件和生命周期函数

③beforeCreate – 生命周期钩子函数被执行

④Init injections&reactivity – Vue内部添加data和methods等

⑤created – 生命周期钩子函数被执行, 实例创建

⑥接下来是编译模板阶段:Has el option?

⑦ 是否有el选项 – 检查要挂到哪里

        没有. 调用$mount(el)方法

        有, 继续检查template选项 Has template option?

                有,将Template模板转换成render函数

                没有,直接将获取到的el编译成Template模板,再转换为render函数

【此阶段只执行一次】

2.挂载阶段:

①beforeMount – 生命周期钩子函数被执行

②Create  vm… – 把虚拟DOM和渲染的数据一并挂到真实DOM上

③真实DOM挂载完毕

④mounted – 生命周期钩子函数被执行

【此阶段只执行一次】

3.更新阶段:

①当data里数据改变, 更新DOM之前,触发beforeUpdate函数

②beforeUpdate – 生命周期钩子函数被执行(数据是新的页面是旧的)

③Virtual DOM…… – 虚拟DOM重新渲染, 打补丁到真实DOM

④updated – 生命周期钩子函数被执行

⑤当有data数据改变 – 重复这个循环

【此阶段可以重复执行】

4.销毁阶段:

①当$destroy()被调用 – 比如组件DOM被移除(例v-if)

②beforeDestroy – 生命周期钩子函数被执行

③拆卸数据监视器、子组件和事件侦听器

④实例销毁后, 最后触发一个钩子函数

⑤destroyed – 生命周期钩子函数被执行

【该阶段的beforeDestroy与destroyed 生命周期钩子函数必须被主动调用 】

【调用方法:vue实例.$destroy()】

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值