怎样清除 vue keep-alive 缓存

在Vue应用中,keep-alive组件用于实现页面的缓存,避免不必要的组件初始化,提高性能。本文介绍了keep-alive的使用场景,如在桌面端应用中减少页面切换时的渲染。同时,针对用户切换账号后组件状态保留的问题,提出了清除缓存的解决方案,即在登录页面时清空cache属性。这有助于确保不同账号间的组件状态正确隔离。
摘要由CSDN通过智能技术生成

什么是keepalive?

在平常开发中,有部分组件没有必要多次初始化,这时,我们需要将组件进行持久化,使组件的状态维持不变,在下一次展示时,也不会进行重新初始化组件。

在桌面端应用中加入keep-alive 可以在切换页面的时候大大的减少不必要的渲染,减少cpu的负担

<keep-alive exclude="login">
    <router-view v-if="!isOfflineFlag" class="global-content"/>
</keep-alive>

有这样一种场景

用户第一次打开应用 是没有问题的 ,但是用户切换账号,再次登录后 之前加载过的组件状态还保留在上个账号的状态 ,再加上应用可能还有权限的原因有展示的组件,数据也不一样 所以需要在登录页面的时候清除掉keep-alive 的缓存

清除全部缓存

if (this.$vnode) {
     this.$vnode.parent.componentInstance.cache = {}
}

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值