关于定义私有路由表规则的问题

来源:8-10 业务落地:定义页面权限控制动作,实现页面权限受控-2

qq_慕设计4375479

2022-09-25

通过学习老师你的视频,我留意到在权限控制解决方案中,老师你是特意去定义了符合前面第四章定义路由表对应menu菜单规则的私有路由表,也就是说:
图片描述
这样的一个路由,它必须符合第四章动态生成菜单的路由规则,也就是下面:
图片描述
这一副图所对应的规则,才能够实现第八章权限控制这块你说的根据返回的权限数据,筛选私有路由,交给router通过add.route方法动态生成路由。

但是由于第四章的这一块我实在能力有限看不太懂…我自己编写了没有考虑同名父路由的动态生成菜单的规则函数,那对应的,在权限控制这一块,定义私有路由表就一定不能像老师你这样去写了。我也试了一下,按照老师的定义私有路由表,就会发现生成的菜单会很奇怪,如下图:
图片描述
可以看到,因为存在同名父路由,导致菜单生成了三个相同名字的一级菜单,这很明显就是错误的。请老师你能展开讲讲第四章动态生成菜单这部分的函数吗?或者说能不能就按照不考虑同名父路由的情况,但是改写定义私有路由表的规则,就是说不按照老师你这样去定义私有路由表,这种情况下还能不能生成正常的菜单?

附上我根据老师你的动态生成菜单函数的理解去写的动态生成菜单函数:
图片描述

写回答

1回答

Sunday

2022-09-26

你好

这一块的逻辑是这样的:

路由表的作用有两个:

  1. 左侧菜单

  2. 路由访问

针对于左侧菜单而言,我们需要根据路由表,来进行构建,构建的方式是 el-menu 需要的数据结构。也就是说,怎么构建并不重要,路由表是什么样子也不重要。重要的是:需要把初始数据结构(路由表)转化为目标数据结构(el-menu 需要的数据)。中间转化的过程,根据不同的数据结构可以定义不同的计算方法。


针对于路由访问而言,同样的道理。我们需要根据权限构建从路由表中拿到期望的路由数据,在进行 addRoute 即可。

0
0

基于Vue3新标准,打造后台综合解决方案

基于Vue3重写Vue-element-admin,打造后台前端综合解决方案

1941 学习 · 1687 问题

查看课程