【vue-element-admin】多级菜单页面缓存问题

小伙伴们,最近小编接手一个系统,前端是使用vue-element-admin框架,无非就是vue+element ui来实现的后台管理系统。
在这个系统中,小编向任务发起者了解到改系统之前是由他使用代码生成器生成的,然后不行再手动修改的,导致许多的不规范问题。
有个问题就是该系统目前由于有些页面还未开发,使用旧的页面,因此使用iframe引入旧页面,然后又是多级页面(三级)。目前有的问题就是三级菜单页面无法缓存的问题,经过百度都是说页面中的name要与菜单配置中的name一致,小编这里使用的动态路由菜单,发现数据库配置的name和页面中name是一致的呀为啥二级的菜单页面有缓存可是二级以上的菜单页面就不会缓存了呢?
——有的说平化三级菜单和二级同层级再存入页面缓存,可是这样就导致菜单结构改变了
——有的说因为二级的name没有加上去,好像有道理。但是要怎么加上去呢?加载页面的name?还是菜单配置文件里的name?小编试了好像都没得反应
——还有把三级(概念上的)转化为二级(真实),emmm,好像是可以。
——在vue-element-admin开发文档中有关于多层级目录
在这里插入图片描述
小编好像懂了,发现数据库中的菜单配置使用的二级菜单都是base为component
在这里插入图片描述
然后代码中component=‘base’的时候是使用同一个空布局页面的
在这里插入图片描述
在这里插入图片描述
在vue插件可以看到每次点击时候都会导致BaseLayout再次刷新而不是在里面直接添加三级页面组件,而且不能缓存页面的搜索值数据
在这里插入图片描述
因为这里使用的是BaseLayout这个为页面的name和我们菜单配置里的name(数据库中的code字段)不一致导致的。
在这里插入图片描述
所以小编将component设置指定的一个二级路由页面
在这里插入图片描述
对应页面
在这里插入图片描述
当这些都配置好了,发现还是不行?可能是因为在缓存菜单的name时候只有缓存了三级菜单的name,而没有对三级菜单的父级(也就是这个三级菜单的二级菜单)的name进行缓存,找到src——store——modules——tagsView.js中的ADD_CACHED_VIEW看看这里是不是只有对该点击的菜单进行缓存,在三级菜单时候没有对该三级菜单的二级菜单name进行缓存,如果是将其进行配置,如下是小编的配置方式,可自行发挥
在这里插入图片描述
当弄到这里基本就可以对三级菜单的页面进行缓存了,如果在该菜单页输入数据,切换页面后再切回来就不会发生数据丢失的问题了。
这里是小编对于vue-element-admin多级菜单目录页缓存失败,输入数据切换页面数据丢失的一个处理方法。如果你有别的方法,麻烦也跟小编分享一下哦~

微信扫码订阅
UP更新不错过~
关注
  • 2
    点赞
  • 3
    收藏
  • 打赏
    打赏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

XujiRe

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值