Vue生命周期的理解

169 阅读1分钟

Vue生命周期

Vue的生命周期是一个Vue实例从创建到销毁的过程--分为四大阶段八大函数

初始化阶段、挂载阶段、更新阶段、销毁阶段

1、各阶段包含钩子:

初始化阶段
beforeCreate  在data数据注入到vm实例之前,此时vm身上没有数据
created       在data数据注入到vm实例之前,此时vm身上有数据

挂载阶段
beforeMount   生成的结构替换视图之前,此时DOM还没更新
mounted       生成的结构替换视图之前,此时DOM已经更新完成

更新阶段
beforeUpdate  数据变化了,dom更新之前
updated       数据变化了,dom更新之后

销毁阶段
beforeDestroy 实例销毁,是否资源之前
destroyed     实例销毁,是否资源之后

动态组件切换配合keep-alive缓存触发
activated     被keep-alive缓存的组件激活时调用
deactivated   被keep-alive缓存的组件停用时调用

这些钩子函数会在vue的生命周期的不同阶段,自动被vue调用

2、常用的钩子函数使用场景:

beforeCreate  做loading的一些渲染
created       结束loading, 发送数据的请求,拿数据
mounted       可以对dom进行操作
updated       监视数据的更新
beforeDestroy 销毁非vue资源,防止内存泄漏,例如清除定时器
activated     当我们运用了组件缓存时,如果想每次切换都发送一次请求的话,
需要把请求函数写在activated中,而写在created或mounted中其只会在首次加载该组件的时候起作用。