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