vue-vben-admin/src/router/guard/pageGuard.ts

19 lines
448 B
TypeScript
Raw Normal View History

2020-12-28 01:31:41 +08:00
import type { Router } from 'vue-router';
2021-03-27 17:25:37 +08:00
import { setRouteChange } from '/@/logics/mitt/routeChange';
2020-12-28 01:31:41 +08:00
export function createPageGuard(router: Router) {
const loadedPageMap = new Map<string, boolean>();
router.beforeEach(async (to) => {
to.meta.loaded = !!loadedPageMap.get(to.path);
// Notify routing changes
2021-03-27 17:25:37 +08:00
setRouteChange(to);
2020-12-28 01:31:41 +08:00
return true;
});
router.afterEach((to) => {
loadedPageMap.set(to.path, true);
});
}