关于动态路由跟精确到按钮级权限的前端渲染

本文探讨了一种精确到按钮级别的权限管理系统,通过获取后台数据并配合Vuex过滤路由,使用自定义Vue指令`allow`实现动态权限展示。通过实例展示了如何在Vue应用中判断用户角色,仅显示其具备的按钮。
摘要由CSDN通过智能技术生成

这段时间做过一个精确到按钮级别的权限管理模块。

这个模块首先需要获取后台数据,再通过后台传给我的数据,再通过自己的vuex配合过滤出我的路由,然后通过router的addrouter方法把自己过滤出来的数组传进去。

至于按钮级别的守卫,就是自定义一个方法,

// 全局注册组件
// Vue.component
// 全局注册指令
// 参数1: 指令名称
// 参数2: 配置对象, 需要定义一个 inserted 钩子函数
// 钩子函数: 在特定时间节点自动执行, 不需要我们手动调用
Vue.directive('allow', {
  // 当指令绑定的标签被插入到真实 DOM 树上时触发
  // 会携带一个参数: el 真实 DOM 元素
  inserted(el, binding) {
    // el.focus()
    // console.log(binding.value)
    // 获取 Vuex 中的权限点信息
    const points = store.state.user.userInfo.roles.points
    // console.log(points)
    // 判断是否包含
    if (!points.includes(binding.value)) {
      // 如果包含就允许显示
      // 否则就不显示
      // el.style.display = 'none'
      el.remove() // 自我毁灭
    }
  }
})

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值