From 2bd8d4f2d8a6c433cecbdbbdd0d7a5391a9ef396 Mon Sep 17 00:00:00 2001 From: NickLuo21 <69481226@qq.com> Date: Tue, 12 Dec 2023 10:10:56 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8A=A8=E6=80=81=E8=B7=AF=E7=94=B1=E9=A1=B5?= =?UTF-8?q?=E9=9D=A2=E5=85=B3=E9=97=AD=E6=97=B6=E4=B8=8D=E6=B8=85=E7=90=86?= =?UTF-8?q?=E7=BB=84=E4=BB=B6=E7=BC=93=E5=AD=98=EF=BC=8C=E9=81=BF=E5=85=8D?= =?UTF-8?q?=E6=B8=85=E7=90=86=E5=B7=B2=E6=89=93=E5=BC=80=E7=9A=84=E5=A4=9A?= =?UTF-8?q?=E4=B8=AA=E8=B7=AF=E7=94=B1=E9=A1=B5=E9=9D=A2=E7=BC=93=E5=AD=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/store/modules/tagsView.ts | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/store/modules/tagsView.ts b/src/store/modules/tagsView.ts index cd065d1c..1c1c9a24 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([]); @@ -35,7 +35,9 @@ export const useTagsViewStore = defineStore('tagsView', () => { 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 @@ export const useTagsViewStore = defineStore('tagsView', () => { } }; + const isDynamicRoute = (view: any): boolean => { + // 检查匹配的路由记录中是否有动态段 + return view.matched.some((m: RouteRecordNormalized) => m.path.includes(':')); + }; + return { visitedViews, cachedViews, -- Gitee