Vue生命周期

1.Vue生命周期全过程

生命周期

2.钩子函数

2.1 beforeCreate

  • beforeCreate:创建前状态。实例或组件在经过new Vue()创建出来后,初始化事件和生命周期,然后就会执行beforeCreate钩子函数,此时数据尚未挂载,无法访问到真实的数据和dom。

2.2 created

  • 在beforeCreate和created钩子函数之间,程序开始监控数据变化以及vue内部的初始化事件。
  • 之后执行created函数,此时已经可以使用到数据,也可以更改,根据生命周期全过程图可以看到,此时的数据修改不会触发update函数。一般可以在这里做初始数据的获取。

2.3 beforeMount

  • 在created和beforeMount之间,先判断是否有el选项,若无则先暂停生命周期,当mount被调用时再继续,若有则继续编译。
  • 然后判断是否有template模板,若有,编译模板放入render函数中准备渲染,若没有,则将外部html作为模板编译。(template优先级比外部html高)
  • 然后执行beforeMount函数,在这个函数中虚拟dom已经创建完成,即将要渲染,此时也可以更改数据,不会触发udate。

2.4 mounted

  • 在执行mounted之前,程序将上一步编辑好的html内容替换el属性指向的dom对象或者选择相应的html标签里面的内容。渲染出了真实dom。
  • 然后执行mounted函数,此时,组件已经出现在页面中,事件已挂载好,数据,真实dom都已处理好,此时可以操作真实dom。

2.5 beforeUpdate

  • 在执行完mounted之后,程序实时监控数据变化,一旦数据发生改变,就将立即执行beforeUpdate函数。

2.6 update

  • 执行beforeUpdate之后,vue的虚拟dom机制将重新构建虚拟dom与上一次的虚拟dom树利用diff算法进行对比之后重新渲染,实时更新dom。
  • 当更新完成后,执行update函数。此时数据已经更新完成,dom也重新render完成,可以操作更新后的虚拟dom。

2.7 beforeDestroy

  • 当经过某种途径调用$destroy方法后,立即执行beforeDestroy函数,一般这里做些善后工作,例如清楚计时器,清楚非指令绑定的事件等。

2.8 destroyed

  • 组件的数据绑定,监听等等都被去掉,只剩一个dom空壳,此时执行destroy,销毁实例
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值