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全局关闭和部分关闭问题。

相关推荐
江公望几秒前
Vue3的 nextTick API 5分钟讲清楚
前端·javascript·vue.js
辛-夷18 分钟前
pinia与Vuex高频面试题
前端·vue.js
shangxianjiao1 小时前
vue前端项目介绍项目结构
前端·javascript·vue.js
鹏多多1 小时前
前端大数字精度解决:big.js的教程和原理解析
前端·javascript·vue.js
白兰地空瓶9 小时前
🏒 前端 AI 应用实战:用 Vue3 + Coze,把宠物一键变成冰球运动员!
前端·vue.js·coze
Liu.77410 小时前
vue3使用vue3-print-nb打印
前端·javascript·vue.js
dly_blog11 小时前
Vue 逻辑复用的多种方案对比!
前端·javascript·vue.js
JIngJaneIL12 小时前
基于java+ vue助农电商系统(源码+数据库+文档)
java·开发语言·前端·数据库·vue.js·spring boot·后端
q_191328469512 小时前
基于Springboot+MySQL+RuoYi的会议室预约管理系统
java·vue.js·spring boot·后端·mysql·若依·计算机毕业设计
想学后端的前端工程师12 小时前
【Java集合框架深度解析:从入门到精通-后端技术栈】
前端·javascript·vue.js