vue-element-admin——<keep-alive>不符合预期缓存的原因

vue-element-admin------<keep-alive>不符合预期缓存的原因

本文章,以现在中后台开发用的非常多的开源项目vue-element-admin为案例。首先,列出官方文档与缓存<keep-alive>相关的链接(请认真阅读,出现缓存<keep-alive>不符合预期,大部分原因就是未认真阅读官方文档或者对<keep-alive>不熟悉)。然后,本文章将总结出"不符合预期缓存的可能原因",即"<keep-alive>不生效,不进行缓存的原因"。

1. vue-element-admin提及路由和keep-alive相关的地方

2.导致<keep-alive>不符合预期的可能原因

① 路由配置上,"name"属性配置不对

比如,在router.js配置的一个路由的name为"dashboard",而组件的name属性为"Dashboard"。如下图,未缓存。


应该改为一致:在router.js配置改为和组件的name属性一致,改为"Dashboard"。如下图,缓存成功。


对应该文章的前面的1.1 、1.2。

② 组件自身的 name 选项未写

由于组件自身的 name 选项未写,**include**匹配不到组件自身的 name 选项,同样未缓存成功。

对应该文章的前面的1.1 、1.2。

③ 多级目录(嵌套路由)导致

如果按照文章的前面的1.3 新增页面------多级目录(嵌套路由) | vue-element-admin (panjiachen.github.io),这种官方文档的三级目录(或以上)的路由写法。

然后,在已在对应组件上,加上和router配置一样的name属性,即解决本文章的2.①和2.②

<keep-alive>是不能缓存的Menu1-1 、Menu1-3、Menu1-2-1和Menu1-2-2的,而Menu2(二级目录)缓存了。


可以看看,vue2官网对keep-alive的介绍。

3.总结

vue-element-admin------缓存不符合预期的原因:
① 路由配置上,"name" 属性配置不对,和组件的 name 不一致
② 路由对应的组件自身的 name 选项未写
③ 多级目录(嵌套路由)导致,三级和三级以上不能缓存

建议多看看官方文档,避免"不规范使用<keep-alive>,导致<keep-alive>不符合预期"

欢迎阅读一下,个人写的一篇文章------"vue-element-admin的三级目录(或以上)<keep-alive>不缓存的解决方法"。

相关推荐
yyuuuzz2 小时前
云服务器部署 web 项目的进程常驻记录
运维·服务器·前端·阿里云·云计算·aws
IT_陈寒2 小时前
一文搞懂React的核心概念
前端·人工智能·后端
我不会起名字3222 小时前
Redis 从 0 到 1(十一):缓存穿透/击穿/雪崩三连击,Go 3 套防御代码
redis·缓存·go·布隆过滤器·雪崩
weixin_BYSJ19872 小时前
【计算机毕设】基于Spring_Boot_Vue的马拉松报名与选手成绩追踪系统05445
java·vue.js·spring boot·学习·spring·django·课程设计
薛一半2 小时前
Redux实战:组件状态管理全解析
开发语言·前端·javascript·react.js
风骏时光牛马2 小时前
功能模块性能测试用例验证
前端
Chenyu_3103 小时前
NUMA 基础:从 CPU、内存到 Node 的整体理解
linux·服务器·网络·缓存
对空六课3 小时前
两个统计平台数据不同:用同一时间窗和事件样本做差异定位
大数据·前端·网络·数据库
lpfasd12311 小时前
node-sass 停止维护!老项目迁移 Dart Sass 完整教程
前端·rust·sass
土豆.exe12 小时前
nf_tables 的 verdict 被读了两次:一个十年未闭合的位域错配
java·数据库·网络安全·缓存