Vue-admin-template关于TagView缓存问题

方式1:采用原有的

复制代码
<template>
  <section class="app-main">
    <transition name="fade-transform" mode="out-in">
      <keep-alive :include="cachedViews">
        <router-view :key="key" />
      </keep-alive>
    </transition>

    <!-- :include='/componentA|componentB' 正则写法 -->
    <!-- :include="['componentA','componentB']" 数组写法 -->
    <!-- <keep-alive :include="keepAliveComponents">
      <router-view />
    </keep-alive> -->
  </section>
</template>

后端通过 :meta中noCache字段 来决定是否执行缓存。

注意:路由Name和组件中Name要相同。

方式2:采用观察者

复制代码
  watch: {
    $route: {
      // 监听路由变化
      handler(to, from) {
        if (to.meta.keepAlive) {
          // 不重复增加
          if (!this.keepAliveComponents.includes(to.name)) {
            this.keepAliveComponents.push(to.name)
          }
        } else {
          //
        }
      },
      immediate: true // 开启立即监听
    }
  }
}

关键点在于 keepAliveComponents 需要处理TagView全局关闭和部分关闭问题。

相关推荐
xiangxiongfly91513 小时前
Vue3 根据角色权限动态加载路由
前端·javascript·vue.js·动态加载路由
Aolith13 小时前
我是怎么把个人论坛首页性能从80分优化到100分的(附踩坑全记录)
vue.js·性能优化
Amy_yang14 小时前
uni-app 安卓端纯前端预览 DOCX 的实现思路
前端·vue.js
xiangxiongfly91514 小时前
Vue3 动态加载静态资源
前端·javascript·vue.js
克里斯蒂亚诺更新14 小时前
ruoyi切换新版本初始化需要修改的地方
前端·javascript·vue.js
前端那点事15 小时前
Vite+Vue3环境判断终极解法!区分开发/生产环境,告别环境报错
前端·vue.js
ZHIS15 小时前
移动端 Vue3 高清 PDF 预览组件开发:支持手势缩放 + 按钮缩放 + 加载进度
vue.js
Amy_yang16 小时前
uni-app 中 web-view 的使用与 App 端全屏问题处理
前端·javascript·vue.js
蜡台18 小时前
Vue3 Hook 与 Store 状态管理:深度解析与选型指南
前端·javascript·vue.js
存在的五月雨18 小时前
项目中 Vitest 配置详解:vitest.config.ts
开发语言·javascript·vue.js