2021/10/29 vue-antd 如何实现动态路由
2021/10/29
文件(路径):router.map.js 项目根目录/src/router/async/router.map.js
Login.vue 项目根目录/src/pages/login/Login.vue
此处仅为测试。
请复制一下代码到router.map.js:
// 视图组件 const view = { tabs: () => import('@/layouts/tabs'), blank: () => import('@/layouts/BlankView'), page: () => import('@/layouts/PageView') } // 路由组件注册 const routerMap = { login: { authority: '*', path: '/login', component: () => import('@/pages/login') }, root: { path: '/', name: '登录', redirect: '/login', component: view.tabs }, devAdmin: { path: '/devAdmin', name: '菜单名', redirect: '/devAdmin', component: view.page }, developer: { path: '/devAdmin/developer', component: () => import("@/pages/devAdmin/developer"), }, permisGroup: { path: '/devAdmin/permisGroup', component: () => import("@/pages/devAdmin/permisGroup"), }, } export default routerMap
解释:在登录界面会有获取路由的入口,我在入口前面定义了我要模仿后台传到前台的路由数组数据,数据格式如下:
let data = [ { router: "root", children: [ //root 路由的子路由配置 { router: "home", path: "/home", // url路径 children: [], name: "首页", icon: "user", component: () => import("@/pages/home"), }, { router: "mune", path: "/mune", name: "菜单名1", icon: "menu", children: [ { router: "mune", path: "/mune/muner", name: "菜单名2", icon: "form", component: () => import("@/pages/mune/muner"), }, { router: "permily", path: "/opener/permily", name: "菜单名2", icon: "form", component: () => import("@/pages/opener/permily"), }, ], }, ]; loadRoutes(data); this.$router.push("/home");
你可能有点糊涂,但这个不是给你看的,是给我自己看的,这不是一篇适用于大众的教程,而是我记忆的一把钥匙。
注意:asyncRoutes要设置为true,在setting.config.js里面。
注意!:后台传过来的路由的一级导航要在router.map.js的routerMap数组里面。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧