跟 keep-alive 有关的生命周期是哪些?

前言:在开发 Vue 项目的时候,大部分组件是没必要多次渲染的,所以 Vue 提供了一
个内置组件 keep-alive 来缓存组件内部状态,避免重新渲染,在开发 Vue 项目的时候,大部分
组件是没必要多次渲染的,所以 Vue 提供了一个内置组件 keep-alive 来缓存组件内部状态,避免重新渲染

生命周期函数:
在被 keep-alive 包含的组件/路由中,会多出两个生命周期的钩
子:activated 与 deactivated。
activated 钩子:在在组件第一次渲染时会被调用,之后在每次缓存组件被激活
时调用。
Activated 钩子调用时机: 第一次进入缓存路由/组件,在 mounted 后面,
beforeRouteEnter 守卫传给 next 的回调函数之前调用,并且给因为组件被缓存了,再次进入
缓存路由、组件时,不会触发这些钩子函数,beforeCreate created beforeMount mounted 都
不会触发

deactivated 钩子:组件被停用(离开路由)时调用:deactivated 钩子调用时
机:使用 keep-alive 就不会调用 beforeDestroy(组件销毁前钩子)和 destroyed(组件销毁),因为
组件没被销毁,被缓存起来了,这个钩子可以看作 beforeDestroy 的替代,如果你缓存了组
件,要在组件销毁的的时候做一些事情,可以放在这个钩子里,组件内的离开当前路由钩子
beforeRouteLeave => 路由前置守卫 beforeEach =>全局后置钩子 afterEach => deactivated
离开缓存组件 => activated 进入缓存组件(如果你进入的也是缓存路由)

  • 9
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值