feat: 重构 AppMenu 组件以动态生成菜单项,更新路由和样式,添加返回按钮
This commit is contained in:
@ -1,13 +1,19 @@
|
||||
import { DataLoaderPlugin } from 'unplugin-vue-router/data-loaders';
|
||||
import { setupLayouts } from 'virtual:generated-layouts';
|
||||
import { setupLayouts, createGetRoutes } from 'virtual:generated-layouts';
|
||||
import { createRouter, createWebHistory } from 'vue-router/auto';
|
||||
import { handleHotUpdate, routes } from 'vue-router/auto-routes';
|
||||
|
||||
const router = createRouter({
|
||||
history: createWebHistory(import.meta.env.BASE_URL),
|
||||
routes: setupLayouts(routes),
|
||||
routes: /* routes ?? */ setupLayouts(routes),
|
||||
strict: true,
|
||||
scrollBehavior: () => ({ left: 0, top: 0 }),
|
||||
scrollBehavior: (_to, _from, savedPosition) => {
|
||||
if (savedPosition) {
|
||||
return savedPosition;
|
||||
} else {
|
||||
return { left: 0, top: 0 };
|
||||
}
|
||||
},
|
||||
});
|
||||
if (import.meta.hot) handleHotUpdate(router);
|
||||
if ($__DEV__) Object.assign(window, { router });
|
||||
@ -22,6 +28,14 @@ export function install({ app }: { app: import('vue').App<Element> }) {
|
||||
.use(DataLoaderPlugin, { router })
|
||||
// adding the router will trigger the initial navigation
|
||||
.use(router);
|
||||
if ('2' === ('1' as never)) {
|
||||
const getRoutes = createGetRoutes(router);
|
||||
const setupLayoutsResult = setupLayouts(routes);
|
||||
|
||||
console.debug(`routes :>> `, routes);
|
||||
console.debug(`getRoutes() :>> `, getRoutes()); // 获取路由表但是不包含布局路由
|
||||
console.debug(`setupLayoutsResult :>> `, setupLayoutsResult);
|
||||
}
|
||||
}
|
||||
// ========================================================================
|
||||
// =========================== Router Guards ==============================
|
||||
|
Reference in New Issue
Block a user