From 58d7e50de3432a4772ec0749661ec1f51c9c6086 Mon Sep 17 00:00:00 2001
From: NickLuo <69481226@qq.com>
Date: 星期三, 13 十二月 2023 08:55:46 +0800
Subject: [PATCH] !63 关闭动态路由tab页签时不清理组件缓存 * 动态路由页面关闭时不清理组件缓存,避免清理已打开的多个路由页面缓存

---
 src/store/modules/tagsView.ts |   11 +++++++++--
 1 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/src/store/modules/tagsView.ts b/src/store/modules/tagsView.ts
index cd065d1..1c1c9a2 100644
--- a/src/store/modules/tagsView.ts
+++ b/src/store/modules/tagsView.ts
@@ -1,4 +1,4 @@
-import { TagView } from 'vue-router';
+import { TagView, RouteRecordNormalized } from 'vue-router';
 
 export const useTagsViewStore = defineStore('tagsView', () => {
   const visitedViews = ref<TagView[]>([]);
@@ -35,7 +35,9 @@
   const delView = (view: TagView): Promise<{ visitedViews: TagView[]; cachedViews: string[] }> => {
     return new Promise((resolve) => {
       delVisitedView(view);
-      delCachedView(view);
+      if (!isDynamicRoute(view)) {
+        delCachedView(view);
+      }
       resolve({
         visitedViews: [...visitedViews.value],
         cachedViews: [...cachedViews.value]
@@ -177,6 +179,11 @@
     }
   };
 
+  const isDynamicRoute = (view: any): boolean => {
+    // 妫�鏌ュ尮閰嶇殑璺敱璁板綍涓槸鍚︽湁鍔ㄦ�佹
+    return view.matched.some((m: RouteRecordNormalized) => m.path.includes(':'));
+  };
+
   return {
     visitedViews,
     cachedViews,

--
Gitblit v1.9.3