当前位置: 首页 > news >正文

VUE admin-element 后台管理系统三级菜单实现缓存

VUE admin-element 后台管理系统三级菜单实现缓存

框架无法直接实现三级菜单页面缓存,原因是由于直接缓存时没有把上级路由文件名称缓存进去,所以在框架基础上参考部分文章进行了一些改造

菜单文件,三级菜单引用文件路径修改,在nested下添加新文件src/views/nested/RouteLevelWrapper/index.vue

<template><div class="app-main"><keep-alive :include="cachedViews"><router-view  /></keep-alive></div>
</template><script>
export default {name: 'RouterViewKeepAlive',computed: {cachedViews() {return this.$store.state.tagsView.cachedViews},key() {return this.$route.path}}
}
</script>

tagsView.js文件中,增加多层路由缓存

  ADD_CACHED_VIEW: (state, view) => {if (state.cachedViews.includes(view.name)) returnif (!view.meta.noCache) {//多层嵌套路由缓存问题处理if(view.matched.length>2){view.matched.forEach(item=>{if(item.name){state.cachedViews.push(item.name)}  })}else{state.cachedViews.push(view.name)}}},DEL_CACHED_VIEW: (state, view) => {//多层嵌套路由缓存问题处理if (view.matched && view.matched.length >= 3) { state.cachedViews = state.cachedViews.filter(item => !view.matched.some(obj => obj.name === item));}  for (const i of state.cachedViews) {//多层嵌套路由缓存问题处理  if (i === view.name) {const index = state.cachedViews.indexOf(i)state.cachedViews.splice(index, 1)break}}},

需要缓存的页面名称与菜单配置组件名一致
AppMain 文件中

<template><section class="app-main"><transition name="fade-transform" mode="out-in"><keep-alive :include="cachedViews"><router-view :key="key" /></keep-alive></transition></section>
</template><script>
export default {name: 'AppMain',computed: {cachedViews() {return this.$store.state.tagsView.cachedViews},key() {return this.$route.path}}
}
</script>

关键是将对应的菜单目录文件名称缓存到cachedViews数组

http://www.dtcms.com/a/264880.html

相关文章:

  • flutter更改第三方库pub get的缓存目录;更改.gradle文件夹存放目录
  • BERT Score是干啥的?
  • 【python】pdf拆成图片,加中文,再合成pdf
  • 网络协议传输层UDP协议
  • 【NLP第一期 语料处理:从获取到预处理的完整链路解析】
  • 非接触式DIC测量系统:助力汽车研发与测试的创新技术应用
  • 从UI设计到数字孪生实战部署:构建智慧农业的智能灌溉系统
  • 数据结构学习之栈
  • Rust实现黑客帝国数字雨特效
  • 软件开发早期阶段,使用存储过程的优势探讨:敏捷开发下的利器
  • Spark从入门到熟悉(篇二)
  • Xbox One 控制器转换为 macOS HID 设备的工作原理分析
  • Ubuntu云服务器上部署发布Vite项目
  • 阿里云实时语音识别
  • 无线网络标准信道宽度参数速查
  • 人体属性识别+跌倒检测:儿童行为监测与安全升级
  • 【构造】P8976 「DTOI-4」排列|普及+
  • 2025最新全球AI大模型排名 国内外模型动态洗牌
  • 【Linux】不小心又创建了一个root权限账户,怎么将它删除?!
  • Linux 后台启动java jar 程序 nohup java -jar
  • PHP Yii2 安装SQL Server扩展-MAC M4 Pro芯片
  • 在mac下手动编译迁移的android版webrtc组件
  • 信息论与编码期末重点
  • 板凳-------Mysql cookbook学习 (十一--------2)
  • 代码训练LeetCode(44)螺旋矩阵
  • 电脑一体机,收银机画面显示不全——深入解析 BIOS 配置电脑分辨率——东方仙盟
  • 「ECG信号处理——(20)基于心电和呼吸的因果分析模型」2025年7月2日
  • GC393低功耗双电压比较器:精准、高效的信号处理解决方案
  • Liunx 操作系统笔记4
  • MFC扩展库BCGControlBar Pro v36.2亮点:Ribbon Bar、表单等组件升级