Vue2的生命周期
vue2生命周期:vue实例从创建到销毁的过程;主要是在不同的时段执行不同的事情;通俗来讲就是 出生到死亡的过程
常见的8个生命周期钩子函数
- beforeCreate created创建前后
beforeCreate 里获取不到data数据和dom元素
created 里可以获取data数据但是获取不到dom元素
一般在created 里进行数据请求和获取本地的数据
如果说想在created内获取dom元素,我们可以使用nextTick
- beforeMount mounted挂载前后、
beforeMount 里可以获取data数据但是获取不到dom元素(因为这时候vue实例并未挂载)
mounted 里可以获取data数据和dom元素
一般在mounted里进行获取dom元素,获取不到的话使用nextTick方法
- beforeUpdate updated更新前后、
beforeUpdate 视图更新前触发
updated 更新后触发 ,是数据变化推动视图更新后才会触发(v2会出现数据更新视图不更新的情况可以使用this.$set()来解决)
- beforeDestroy destroyed销毁前后
beforeDestroy 实例销毁前触发
destroyed 实例销毁后触发 销毁页面定时器、页面监听。
另外三个不常用:
activated: 组件激活时
deactivated: 组件未激活时
errorCaptured: 当捕获一个来自子孙组件的错误时被调用
注意点: 生命周期在创建之后才能够获取data数据;在挂载之后才能够获取dom元素
执行顺序如图: