先贴问题代码

<keep-alive :include="[需要缓存的组件name]"><div class="main-content-wrapper"><router-view :key="path"/></div>
</keep-alive>

乍一看,好像没啥问题呀,页面也能正确渲染,在所有的主显示界面上增加一个全局的样式

但测试过程中,问题就暴露出来了,每次切换页面都会重新请求

页面功能没啥问题,但就是缓存无效了,这不工作量就来了吗

由于这块不是我开发的,所以一开始,咱也不知道是啥问题呀

首先肯定查一下官方文档,没看出啥问题来

初步怀疑是不是include中的数据由问题呢?

但根据文档和路由参数,仔细比对,甚至写死固定值也解决不了

这么看来就不是配置问题了

接下来往哪个方向排查呢?

有问题就google,唉,好巧不巧,我发现网上写的那些,keep-alive下清一色的component

我这脾气就上来了,都是html,为啥我的就不行呢?

既然如此就先随便尝试一下呗,先把div干掉

这就一下子搞定了?有点懵

好奇心害死猫,我还真想知道为啥

于是就去搂搂源码了,别说,还真找到原因了

  var KeepAlive = {name: 'keep-alive',// ...render: function render () {// 拿到默认的插槽内容var slot = this.$slots.default;// 拿到第一个直系子组件,必须是组件,因为只有组件才有name属性var vnode = getFirstComponentChild(slot);// ...}}// 查找并返回第一个直系"组件"function getFirstComponentChild (children) {if (Array.isArray(children)) {for (var i = 0; i < children.length; i++) {var c = children[i];if (isDef(c) && (isDef(c.componentOptions) || isAsyncPlaceholder(c))) {return c}}}

省略其它无关的代码,在render函数中有一段代码就是专门获取keep-alive下第一个直系组件

记住,必须是直系组件,所以上述代码包裹div是不行的

最终的改动代码,将div放到keep-alive外即可

<div class="main-content-wrapper"><keep-alive :include="[需要缓存的组件name]"><router-view :key="path"/></keep-alive>
</div>

记一次keep-alive没有生效的排查相关推荐

  1. 多队列 部分队列没有包_记一次TCP全队列溢出问题排查过程

    简介:记一次TCP全队列溢出问题排查过程 1. 前言 本文排查的问题是经典的TCP队列溢出问题,因TCP队列问题在操作系统层面没有明显的指标异常,容易被忽略,故把排查过程分享给大家. 2. 问题描述 ...

  2. vmware 搭建k8s无法ping通子节点_一波四折 —— 记一次K8S集群应用故障排查

    一波四折--记一次K8S集群应用故障排查Part1 初露端倪 一个周四的下午,客户的报障打破了微信群的平静. "我们部署在自建K8S集群上的应用突然无法正常访问了,现在业务受到了影响!&qu ...

  3. 多次执行sql 后卡住_解Bug之路记一次中间件导致的慢SQL排查过程

    解Bug之路-记一次中间件导致的慢SQL排查过程 前言 最近发现线上出现一个奇葩的问题,这问题让笔者定位了好长时间,期间排查问题的过程还是挺有意思的,就以此为素材写出了本篇文章. Bug现场 我们的分 ...

  4. 记一次cpu指标异常的跟踪排查

    记一次cpu指标异常的跟踪排查 参考文章: (1)记一次cpu指标异常的跟踪排查 (2)https://www.cnblogs.com/Zfc-Cjk/p/10973932.html (3)https ...

  5. sql 在某段时间_解Bug之路记一次中间件导致的慢SQL排查过程

    解Bug之路-记一次中间件导致的慢SQL排查过程 前言 最近发现线上出现一个奇葩的问题,这问题让笔者定位了好长时间,期间排查问题的过程还是挺有意思的,就以此为素材写出了本篇文章. Bug现场 我们的分 ...

  6. (记) Deployment设置环境变量不生效

    记一个卡了两天的问题 问题 Dockerfile中,指定不同的启动方式,会有不同的读取环境变量的效果.有的能够读到,有的读不到.具体来说,如下 能够读取到的方式 直接启动 CMD ["jav ...

  7. 记一次@ResponseBody注解不生效问题

    1.需求引入 前端(postman)调用后端方法要求如下这样调用,使用raw,格式是application/json,并且要求返回json格式字符串 2.示例代码 后端可以使用如下方式接收,以及返回 ...

  8. limits.conf 配置不生效问题排查

    在部署数据库时,经常会遇到打开最大文件数限制 too many open files 的警告,通常我们只需要修改/etc/security/limits.conf该文件,增加两行,重新登录即可解决. ...

  9. hive 替换第三方jar包不生效 问题排查

    文章目录 一.问题描述 二.排查过程 1. 梳理hive程序的执行流程 2. 推测问题产生的原因 3. 通过arthas找出罪魁祸首 4. 问题总结和解决办法 三.个人反思和一些总结 想直接看结论和解 ...

最新文章

  1. 系统更新链接服务器超时,Win10系统更新后Dr.com连接认证服务器一直超时如何解决?...
  2. express的cookie解析和签名源码解析
  3. LeetCode-动态规划基础题-343. 整数拆分
  4. 笔记本暗屏维修多少钱_电视机维修|维修电视机多少钱?电视机黑屏
  5. 头像星球html,HTML5 Canvas 星球大战黑武士头像
  6. ava容器类4:Queue深入解读
  7. MFC根据颜色数组自定义位图并显示到窗口
  8. 蓝桥杯2019年第十届C/C++省赛B组第九题-后缀表达式
  9. 软件项目管理案例教程 第4版 课后习题答案
  10. MR 眼镜会取代手机成为下一代终端,中国产业有机会领先世界
  11. 发邮件向论文作者卑微求代码模板
  12. 【算法】1436. 旅行终点站(多语言实现)
  13. 追光的人beta冲刺总结
  14. 教师节我用Python做了个学生点名系统送给老师当礼物,这回毕业稳了
  15. 小型水库雨水情测报设施建设-水库大坝水文监测
  16. Java中如何实现一个函数返回多个值
  17. c语言画bmp五星红旗图片,asp画的五星红旗(bmp格式)
  18. android获取控件宽和高
  19. 全球及中国铟行业发展状况与投资前景建议报告2022-2028年
  20. 图灵在布莱切利园的女朋友_极客参观布莱切利公园

热门文章

  1. 创业阶段如何找客户_创业初期,如何寻找最初的合伙人?
  2. 【Servlet】这一文详细的讲述了Servlet的知识,呕心沥血,终于文成。
  3. 1997-2018年各省互联网普及率
  4. 面试过了,公司要做背景调查,如何应对?
  5. 如何在mysql8.0中导入导出数据库
  6. U盘安装CentOS7出现问题的解决方案
  7. 从Loot推论如何在NFT领域做产品创新?
  8. DPDK学习(一)DPDK简介
  9. Neural Network Intelligence (NNI) | PyTorch-CiFar10 项目示例+常用pytorch版本模型全家福
  10. 再强调一遍, 我为什么不建议大家接外包干私活?