Vue的生命周期是vue实例从创建到销毁的过程,在生命周期的不同阶段对应的钩子函数实现组件的数据管理和DOM渲染两大重要功能
Vue生命周期又分为8个阶段:
beforeCreate
[创建前]
实例初始化之后,此时数据观测和初始化事件还未开始,不能获取DOM节点
created
[创建后]
Vue实例已经创建;数据观察,属性和 方法配置完成,但是$el不可用
beforeMount
[载入前]
在挂载之前调用: 相关的`render`函数(模板)首次被调用, 完成编译模板, `data`里面的数据和模板生成`html`。注意此时还没有挂载`html`到页面上,但是`vue`挂载的根节点已经创建
mounted
[载入后]
`el`被新创建的`vm.$el`替换,并挂载到实例上去之后调用该钩子(数据和DOM都已经渲染结束)
beforeUpdate
[更新前]
vue遵循数据驱动DOM的原则;当Vue的任何数据,都会触发该函数,此钩子函数在服务器端渲染期间不被调用
updated
[更新后]
此阶段DOM会和更改过的内容同步; 所以应该避免在此阶段更改状态,防止死循环
beforeDestroy
[销毁前]
实例销毁前,实例仍然完全可用
destroyed
[销毁后]
Vue 所有的事件监听器会被移除,所有的子实例也会被销毁。该钩子在服务器端渲染期间不被调用