2021.08.11 动态路由 && 配置路由权限 【route】

在项目中我们常会需要根据 用户的角色不同 来渲染 不同的路由

方法1. 单独编写需要鉴权的路由数组,然后拼接

export const asyncRoute = [
  {
    path: '/users',
    name: 'Users',
    component: () => import('@/views/Users'),
    meta: {
      title: '用户管理',
      icon: 'user'
    }
  }
]
let rs = routes
if (+id === 1) { // id为1时,该用户拥有所有权限
  rs = routes.concat(asyncRoute)
}

方法2. 在meta属性里添加标识以确定是否需要鉴权,然后过滤

 [
  {
    path: '/home',
    name: 'Home',
    component: () => import('@/views/Home'),
    meta: {
      title: '首页',
      icon: 's-home'
    }
  },
  {
    path: '/monitor',
    name: 'Monitor',
    component: () => import('@/views/Monitor/Ing'),
    meta: {
      title: '设备状态监测',
      icon: 'monitor'
    }
  },
  {
    path: '/users',
    name: 'Users',
    component: () => import('@/views/Users'),
    meta: {
      title: '用户管理',
      icon: 'user',
      auth: true
    }
  }
]
const routes = [].filter(item => !item.meta.auth)

方法3. 直接后台取路由数组,调整好参数之后,拼接给路由

Router.addRoutes([...routes]) // 官方推荐的添加路由api

本文参考 https://www.cnblogs.com/zhuhuoxingguang/p/11759001.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值