场景是,从列表跳转到详情页,再次返回列表页时要记住之前列表页的页码、搜索关键词等,采用keepa-live缓存组件。
在路由文件配置meta.keepAlive:
{path: '/List',name: 'List',component: List,meta: { keepAlive: true }
}
修改App.vue的router-view:
<keep-alive><router-view :key="$route.name" v-if="$route.meta.keepAlive"/>
</keep-alive>
<router-view :key="$route.name" v-if="!$route.meta.keepAlive"/>

从别的页面进列表页不能还读取缓存,因此在离开的时候要清除缓存:

beforeRouteLeave(to, from, next) {if (to.path == "/Detail") {from.meta.keepAlive = true;} else {let vnode = that.$vnodelet parentVnode = vnode && vnode.parent;if (parentVnode && parentVnode.componentInstance && 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 keyif (keys.length) {var index = keys.indexOf(key)if (index > -1) {keys.splice(index, 1)}}cache[key] = null}}}next();}

特别注意一点,如果项目中有多层router-view嵌套,那就不要在App.vue里写,而应该在最底下一层router-view所在的位置写,否则缓存会清除失败。

vue的keep-alive组件清除缓存相关推荐

  1. vue项目部署,自动清除缓存配置

    清除文件缓存 1.index.html 文件添加 http-equiv(http 响应头) 通过在head标签中添加meta,当浏览器访问index.html时,会向服务器重新请求静态资源.该方法了解 ...

  2. vue关闭页面刷新页面清除缓存

    mounted() {this.enterPage()}, destroyed(){this.leavePage() }, methods: { /* 打开:load 关闭:beforeload+un ...

  3. Vue学习(动态组件、组件路由缓存keepalive)-学习笔记

    文章目录 Vue学习(动态组件.组件路由缓存keepalive)-学习笔记 动态组件 组件路由缓存keepalive Vue学习(动态组件.组件路由缓存keepalive)-学习笔记 动态组件 < ...

  4. [vue] 怎么缓存当前打开的路由组件,缓存后想更新当前组件怎么办呢?

    [vue] 怎么缓存当前打开的路由组件,缓存后想更新当前组件怎么办呢? 可以在路由meta中加入参数, 对打开的路由进行keep-alive的判断, 通过钩子active等 个人简介 我是歌谣,欢迎和 ...

  5. [vue] vue怎么缓存当前的组件?缓存后怎么更新?

    [vue] vue怎么缓存当前的组件?缓存后怎么更新? keep-alive 通过actived钩子 个人简介 我是歌谣,欢迎和大家一起交流前后端知识.放弃很容易, 但坚持一定很酷.欢迎大家一起讨论 ...

  6. Vue组件设置缓存kepp-alive 后如何获取数据

    Vue组件设置缓存kepp-alive 后如何获取数据 解决方案 : beforeRouteEnter activated beforeRouteEnter 每次进去组件渲染时,都会执行beforeR ...

  7. vue的pc项目每次扫码登录时,需要清除缓存才能扫码登录成功问题,求解决方案

    所遇问题:vue的pc端项目每次扫码登录的时候需要清除缓存才能登录成功 先贴几个登录时的效果图 如图红色箭头标记的部分,第一次打开项目时,没有进行清除缓存的操作,扫码后,可以看到拿到了我的个人信息 在 ...

  8. ant design vue 清空upload组件图片缓存的方法

    当关闭这个窗口后,再次打开,上传上传的图片清空 在upload 这个组件外加一个key 赋随机值,便可清除缓存缓存 代码如下: <a-modal v-model="visible&qu ...

  9. vue 页面保留缓存和清除缓存

    路由: routes: [{ path: '/page1', name: page1', component: page1', meta:{ keepAlive:true  //true是保存缓存,f ...

最新文章

  1. 多人合作开发的标准制定
  2. perl 远程 mysql_写的一个perl脚本,用于发送远程MySQL命令
  3. Async Solr Queries in Python
  4. MS UC 2013-0-虚拟机-标准化-部署-1-虚拟化-部署
  5. 微服务深入浅出(7)-- 网关路由Zuul
  6. 哈哈哈,弟弟被卡桶里了......
  7. C#LeetCode刷题-几何
  8. 内存-ECC RDIMM 服务器内存条简介(常被叫做RECC内存条)
  9. redies 学习笔记
  10. 易语言输出mysql日志_个人理解的易语言下的日志总结(备忘)
  11. 国际区号json(含国家中英文名称、简称、区号、首拼)
  12. Gallery 是国外一个免费开源的图库相册软件
  13. 搞学术不完全指北【包括谷歌学术镜像、论文工具、Wiki、SCI-HUB文献下载、翻译等】
  14. 【小程序项目开发 --- 京东商城】 启航篇之uni-app项目搭建
  15. solr 查询出异常org.apache.solr.search.SyntaxError: Cannot parse
  16. 微信开发如何优雅的注入token(2)
  17. 好用的SQL工具盘点:从学习到工作总有一款适合你
  18. android glide缺少方法,android - 无法膨胀且找不到类android支持设计的行为BottomSheetBehavior - 堆栈内存溢出...
  19. 记录Win10正确安装CUDA和cuDNN的过程(记录一些坑)
  20. MySQL数据库安装,配置My.ini文件

热门文章

  1. 看完阿里最新产500页微服务架构笔记,感觉我格局太小
  2. php 车型分类筛选,车型分类_车型详解 - 买车攻略 - 淘车
  3. 入门级爬虫-17k小说站爬取指定小说
  4. 现实比较室内集成墙装修好还是刮墙的好
  5. 代码质量与安全 | “吃狗粮”能够影响到代码质量?来了解一下!
  6. 网页中增加QQ在线咨询的功能
  7. 初识遗传算法(二): 适应度地形与协同进化
  8. 用 ESP32 + HaaS Python 打造 RFID 智能刷卡门禁系统
  9. 好用的微信账号开通检测方法
  10. 矩阵旋转——(c语言)