parent
c045276a7c
commit
58d7e50de3
@ -1,4 +1,4 @@
|
|||||||
import { TagView } from 'vue-router';
|
import { TagView, RouteRecordNormalized } from 'vue-router';
|
||||||
|
|
||||||
export const useTagsViewStore = defineStore('tagsView', () => {
|
export const useTagsViewStore = defineStore('tagsView', () => {
|
||||||
const visitedViews = ref<TagView[]>([]);
|
const visitedViews = ref<TagView[]>([]);
|
||||||
@ -35,7 +35,9 @@ export const useTagsViewStore = defineStore('tagsView', () => {
|
|||||||
const delView = (view: TagView): Promise<{ visitedViews: TagView[]; cachedViews: string[] }> => {
|
const delView = (view: TagView): Promise<{ visitedViews: TagView[]; cachedViews: string[] }> => {
|
||||||
return new Promise((resolve) => {
|
return new Promise((resolve) => {
|
||||||
delVisitedView(view);
|
delVisitedView(view);
|
||||||
|
if (!isDynamicRoute(view)) {
|
||||||
delCachedView(view);
|
delCachedView(view);
|
||||||
|
}
|
||||||
resolve({
|
resolve({
|
||||||
visitedViews: [...visitedViews.value],
|
visitedViews: [...visitedViews.value],
|
||||||
cachedViews: [...cachedViews.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 {
|
return {
|
||||||
visitedViews,
|
visitedViews,
|
||||||
cachedViews,
|
cachedViews,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user