前端按钮权限涉及路由跳转如何处理

做后台管理遇到一个问题,例如我们需要做菜单和按钮权限,假如我们前端路由是这么写的,我就简单写了:

const route = {
  path:"article",
  children:[{
    path:"edit"
  }]
}

意思是文章管理模块有一个编辑按钮,点击编辑按钮跳转到编辑页面,然后后端给我们的权限是这样的:

{
  path:"article",
  operate:[""]
}

意思是有文章管理页面,没有编辑权限。

那么这个时候我应该怎么根据后端返回的操作权限去diff掉前端的path:"edit"这个路由权限?

img


路由的 name 属性最好用 Symbol

其实你这个 用动态路由做 好一些吧 。后端直接把 路由返给你包括 它的权限 。前端就不用 根据后端返回的 再 删除 route里的东西了 。

至于你说的 怎么diff 。你 获取到路由 数组 。然后 循环 对比 path相等 operate =[]的话 那就把 route里 对应的 path的 edit删除