专栏首页vue的实战清除keepAlive的缓存

清除keepAlive的缓存

//清除keepAlive的缓存
export function clearKeepAlive(that){
  let vnode = that.$vnode
  let parentVnode = vnode.parent 
  if (parentVnode && parentVnode.componentInstance.cache) {
    var key = vnode.key == null
      ? vnode.componentOptions.Ctor.cid + (vnode.componentOptions.tag ? `::${vnode.componentOptions.tag}` : '')
      : vnode.key;
    var cache = parentVnode.componentInstance.cache;
    var keys  = parentVnode.componentInstance.keys;

    if (cache[key]) {
      that.$destroy()
      // remove key
      if (keys.length) {
        var index = keys.indexOf(key)
        if (index > -1) {
            keys.splice(index, 1)
        }
      }
      cache[key] = null
    }
  }
}

在需要清除的组件内引入 ,然后使用这个方法。

 clearKeepAlive(this);

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • vue中实现滚动条位置缓存

    用户4344670
  • 2019-08-20 ES6的 数组方法,变量的定义,模板字符串(第一天)

    用户4344670
  • js中绑定事件与解除绑定事件的3种方式

    用户4344670
  • 暗网悲剧的前半生:亲爹傻逼,养父脑残。

    暗网不负众望,2018年再次拉向高潮——华住旗下3千万酒店开房数据,在暗网中文论坛出售。

    用户1564362
  • redis 清理某个key前缀的key

    例如,某次研发上线代码,造成了某种前缀的key出现了脏数据(例如key前缀名称为 key_  ), 我们需要快速的清理掉这些问题key。

    二狗不要跑
  • 【DB笔试面试586】在Oracle中,什么是自适应游标共享(3)?

    从如下查询结果可以看到目标SQL对应的列VERSION_COUNT的值从之前的5变为了现在的6,列EXECUTIONS的值为7,说明Oracle在第7次执行目标...

    小麦苗DBA宝典
  • 音乐复兴:发烧友的耳朵有救了

    MP3掀起的数字音乐改变了人们收听音乐的习惯。经过近十年发展,数字音乐已经成为中国用户必需品,磁带却成为收藏品,CD、电台成为小众之选。一个不容忽视的事实是,...

    罗超频道
  • C语言学习笔记之获取文件长度

    Theo Tsao
  • 数据视域下图书馆话题情感分析

    本文在图书馆话题下知乎用户问答行为数据的基础上,分析了图书馆信息资源建设的新要求,并提出了相关建议。

    拓端
  • 《破冰行动》中的暗网,在现实中是什么样子呢?

    哈喽!各位小伙伴大家好呀!近期大火的《破冰行动》中,林景文和赵嘉良在剧中使用的“暗网”作为毒品交易的平台,那么这个“暗网”在现实世界中又是怎么样的呢?

    简单并不简单

扫码关注云+社区

领取腾讯云代金券