怎样清除 vue keep-alive 缓存

什么是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 = {}
}

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值