fix: 解决生产环境下路由不缓存问题
This commit is contained in:
parent
2080e8fe55
commit
4820f4e2d0
@ -22,7 +22,7 @@ export function linearArray(tree: any) {
|
|||||||
* @param {any} current 需要跳转的路由和路由参数
|
* @param {any} current 需要跳转的路由和路由参数
|
||||||
*/
|
*/
|
||||||
export const currentlyRoute = (current: any) => {
|
export const currentlyRoute = (current: any) => {
|
||||||
const route = deepClone(current);
|
const route = deepCloneRoute(current);
|
||||||
const themeStore = useThemeConfig();
|
const themeStore = useThemeConfig();
|
||||||
const { isTabs } = storeToRefs(themeStore);
|
const { isTabs } = storeToRefs(themeStore);
|
||||||
const store = useRoutesConfigStore(pinia);
|
const store = useRoutesConfigStore(pinia);
|
||||||
@ -50,6 +50,21 @@ export const currentlyRoute = (current: any) => {
|
|||||||
store.setRouteNames(route.name); // 缓存路由name
|
store.setRouteNames(route.name); // 缓存路由name
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 深拷贝路由,切断与原路由的联系,防止路由参数污染
|
||||||
|
* @param route 当前路由
|
||||||
|
* @returns 深拷贝后的路由
|
||||||
|
*/
|
||||||
|
export const deepCloneRoute = (route: any) => {
|
||||||
|
return deepClone({
|
||||||
|
path: route.path,
|
||||||
|
name: route.name,
|
||||||
|
meta: route.meta,
|
||||||
|
query: route.query,
|
||||||
|
params: route.params
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 模块替换,深层递归,对所有的路由中符合条件的模块进行转换
|
* 模块替换,深层递归,对所有的路由中符合条件的模块进行转换
|
||||||
* @param {array} tree 过滤角色权限后的树
|
* @param {array} tree 过滤角色权限后的树
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user