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

相关推荐
我叫黑大帅4 小时前
Vue3和Uniapp的爱恨情仇:小白也能懂的跨端秘籍
前端·javascript·vue.js
洋洋技术笔记5 小时前
Vue实例与数据绑定
前端·vue.js
牛奶16 小时前
Vue 基础理论 & API 使用
前端·vue.js·面试
牛奶16 小时前
Vue 底层原理 & 新特性
前端·vue.js·面试
pe7er16 小时前
状态提升:前端开发中的状态管理的设计思想
前端·vue.js·react.js
_AaronWong1 天前
Electron 实现仿豆包划词取词功能:从 AI 生成到落地踩坑记
前端·javascript·vue.js
wuhen_n1 天前
双端 Diff 算法详解
前端·javascript·vue.js
爱勇宝1 天前
别再混用了!import.meta.env 与 process.env 的本质差异一次讲透
前端·javascript·vue.js
从文处安2 天前
「九九八十一难」组合式函数到底有什么用?
前端·vue.js
用户11489669441052 天前
VUE3响应式原理——从零解析
vue.js