VUE生命周期详解

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

 首先:1.new Vue()一个vue实例,然后init调用initLifecycle(), initEvents(), initRender()初始化了生命周期,事件以及定义createElement函数。

2.执行beforeCreate生命周期函数,此时无法通过vm访问到data中的数据、methods中的方法。

3.beforeCreate执行完后,会开始进行数据初始化,这个过程,会定义data数据,方法以及事件,并且完成数据监测与数据代理。

4.执行created生命周期函数,此时,我们可以通过vm访问data中的数据,methods中配置的方法。

5.created执行完后,判断当前是否有el参数,如果有就调用了 $mount方法,如果没有就只能自己手动调用了

6.判断当有template参数时,我们会选择去将template模板转换成render函数,如果没有template,那么我们就会直接将获取到的el,编译成templae, 然后再转换成render函数。此时网页还不能显示解析好的内容

7.beforMount,此时页面呈现的是未经Vue编译过的DOM结构,所有对DOM进行的操作,最终都不奏效

8.生产一个虚拟dom,进行保存,然后再开始将render渲染成为真实的dom,插入页面

9.调用mounted,我们是可以操作dom的,因为这个时候dom已经渲染完成了。页面所呈现的是经过Vue渲染的DOM。一般在此进行:开启定时器,发送网络请求,订阅消息,绑定自定义事件等初始化操作。

10.当数据发生变化时,触发beforeUpdate,又会重新生成一个新的虚拟DOM,然后会拿这个最新的DOM和原来的旧的DOM去做一个比较。从而更新最新数据,再将更新后的render函数渲染成真实DOM。

11.beforeDestroy,此时还可以操作实例

12.beforeDestroy之后,一系列的销毁动作:如关闭定时器,解绑自定义事件,取消订阅消息等收尾操作

13.销毁完成后,再执行destroyed

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值