fix: 解决生产环境下路由不缓存问题
This commit is contained in:
parent
2080e8fe55
commit
4820f4e2d0
@ -22,7 +22,7 @@ export function linearArray(tree: any) {
|
||||
* @param {any} current 需要跳转的路由和路由参数
|
||||
*/
|
||||
export const currentlyRoute = (current: any) => {
|
||||
const route = deepClone(current);
|
||||
const route = deepCloneRoute(current);
|
||||
const themeStore = useThemeConfig();
|
||||
const { isTabs } = storeToRefs(themeStore);
|
||||
const store = useRoutesConfigStore(pinia);
|
||||
@ -50,6 +50,21 @@ export const currentlyRoute = (current: any) => {
|
||||
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 过滤角色权限后的树
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user