问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

Vue + Element Plus 实现权限管理系统(四):动态添加路由

发布网友 发布时间:2024-09-09 15:30

我来回答

1个回答

热心网友 时间:2024-11-14 03:58

在开发权限管理系统时,动态添加路由是一项关键技术,它允许根据用户权限动态加载可访问的页面。前文我们已讨论了如何渲染侧边栏菜单,本篇文章将深入探讨如何优化动态路由的添加过程。

Vue路由包含name、path、component等属性,其中component属性是一个返回模块的函数。然而,后端返回的菜单列表却是一个字符串,如aa/bb。因此,我们需要一个函数将后端菜单列表处理成路由格式。为此,在utils目录下新建filterRoute.ts文件。

使用import.meta.glob("../views/**/*.vue")可以匹配到views目录下所有后缀为.vue的文件,然后通过对比后端返回的component与views/后面的路径来生成Vue路由中component所需的格式。如果菜单是父菜单,则其不能有component属性。根据这些规则,如果菜单component配置了aa/bb,则需要在views目录下创建aa/bb.vue文件来匹配当前组件路径。

Pinia是一个强大的状态管理器,可以方便地管理全局状态。首先安装Pinia,然后在main.ts中注册。新建store/index文件用于存放Pinia管理的状态,并定义了获取菜单的方法GenerateRoutes。

在路由配置文件router/index.ts中,我们先定义好公共路由页面,然后在路由守卫beforeEach中使用addRoute进行动态路由添加,并定义一个白名单路由列表,目前只有一个login页面表示直接放行。

当修改菜单表中子菜单2.1的component为test2/index时,需要在views目录下新建test2/index.vue文件。在layout/components/sidebar.vue中处理菜单选择事件,其中getPath中的d参数代表当前菜单的父菜单和子菜单index的数组,即父菜单的path和子菜单path,如['aa','bb'],根据它们进行相应的路由跳转。最后点击子菜单2.1,该页面就会被渲染出来。

至此,动态路由添加基本完成。当然,可能还有一些细节需要处理,后续将进一步完善。若想系统地了解权限管理系统的搭建,可以关注Vue + Element Plus 实现权限管理系统(前端篇)和NestJS实现权限管理系统(后端篇)专栏。如果只对前端感兴趣,则关注前端篇即可。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
苹果电脑电池充不进电苹果电脑充不进去电是怎么回事 苹果电脑不充电没反应苹果电脑充电指示灯不亮充不了电怎么办 狗狗更加忠诚护家、善解人意,养一只宠物陪伴自己,泰迪能长多大... 描写泰迪狗的外形和特点的句子 国外留学有用吗 花钱出国留学有用吗 !这叫什么号 百万医疗赔付后是否可以续保 前一年理赔过医疗险还能续保吗? 医疗住院险理赔后还能购买吗? (五)Vue实用框架-Ruoyi(权限控制和页面渲染) 荷兰风格派的代表人物是谁 荷兰风格派的代表人物是 赛博侦探喜欢哪个女角色数码宝贝 荷兰风格派运动基本信息 数码宝贝故事赛博侦探hard难度全BOSS打法攻略介绍_数码宝贝故事赛博侦 ... 数码宝贝故事:赛博侦探的介绍 数码宝贝故事:赛博侦探的剧情介绍 电影名字关于哥斯拉的。。。 淮北邮件处理车间在哪 想知道: 淮北市 118公交线路的路线,途径哪些地点 租号玩怎么把自己号租出去 消除安全隐患,福特领界把微信搬上车! 疯暴突鸡爪剧情简介 梦见福禄寿还有人家死人了 梦见福禄寿还有人家死人了什么情况 街道办跟社区有什么区别 做了心脏支架后长期服药饮食需要忌口吗 心梗病人忌口 流式抗体选择5要素 国产自免新药出海!祝贺明济生物就TL1A抗体与艾伯维达成交易 前端如何配合后端实现Vue路由权限 Excel如何设置横轴和纵轴 vuerouter根据路由区分用户权限并生成动态侧边栏 小米公司的企业文化价值观 这个配置使命召唤12,古墓丽影崛起还有其他大型单机怎么样 双语动画之爆笑喜剧动画片《咱们裸熊》(We Bare Bears )1-4季+电... 山里的孩子像大山一样结实健壮是什么修辞手法 英雄联盟什么英雄玩不腻? 英雄联盟里那个英雄有爆发伤害,有逃跑技能,有趣味性玩不腻,的是那个... 英雄联盟有什么英雄可以长久的玩还不腻? 英雄联盟哪个英雄玩不腻?现在偏爱战士了 英雄联盟里哪个英雄玩不腻,我一般一个英雄玩3把就不想碰了,求解 梦见自己喜欢的女孩染头发了是什么寓意?染成紫红色的了,喜欢的女孩,现 ... 拍婚纱把头发染成紫红色,效果会好吗 kindle都有哪些型号 3.5镍材质用什么牌号焊条? kindle哪个型号好 kindle所有型号对比 kindle是什么?有哪些型号? 潘珊梅专家简介