文章目录
vue实例的生命周期
1.什么是生命周期?
从Vue实例创建,运行,到销毁期间,总是伴随着各种各样的事件,这些事件统称为生命周期!
2.生命周期钩子 = 生命周期函数 = 生命周期事件
3.主要的生命周期函数分类:
创建期间的生命周期函数
·beforeCreate:实例刚在内存中被创建出来,此时,还没有初始化好data和methods属性
·created:实例已经在内存中创建ok,此时data和methods已经创建ok,此时还没有开始编译模板
若果要调用methods中的方法或者操作data中的数据最早只能在created中操作
·beforeMount:此时已经完成了模板的编译,但是还没有挂载到页面中。
·mounted:此时,已经将编译好的模板,挂载到了页面指定的容器之中显示.模板已经渲染到了页面
此时,组件已经脱离了创建阶段,进入到了运行阶段.
运行期间的生命周期函数
·beforeUpdate:状态更新前执行此函数,此时data中的状态值是最新的,但是页面上显示的数据还是旧的,因为此时还没有开始重新渲染DOM节点
·updated:实例更新完毕后调用此函数,此时data中的状态值和页面上显示的数据,都已经完成了更新,页面已经被重新渲染好了。
此时,完成了数据从data(model层)->view(视图层)的更新,如果需要数据刷新,方法调用,要在这里写
销毁期间的生命周期函数:
·beforeDestroy:实例销毁之前调用,在这一步,实例依然可用。
常用于清除当前组件中定义的定时器,注销全局的事件
·destroyed:Vue实例销毁后调用。调用后,Vue实例演示的所有东西都会解绑,所有的事件监听器会被移除,所有的子实例也会被销毁。
组件再一次激活时被触发(keep-alive直接包裹需要保留的内容)
activated:在v-if时不销毁,缓存起来
被keep-alive缓存组件,再一次被激活时触发,用于组件局部刷新。
deactivated:
被keep-alive缓存组件 再一次隐藏时,清除定时器,windows事件