【vue.js】vue后台项目权限功能实现思路

常见的后台系统中,会存在不同的用户角色,如超级管理员、普通用户,这些用户角色的权限是不同的,所以可以操作或显示的模块也不一致。这里采用如下后台管理系统框架作为模板

地址:https://github.com/PanJiaChen/vue-admin-template

简单说下需求,后台菜单如下图,要求系统中存在两类用户,管理员和普通员工,管理员登录系统可见所有菜单选项,普通用户仅可见首页菜单项。

项目左侧菜单Sidebar组件代码如下,用v-for遍历当前路由实例路由配置this.$router.options.routes传递给<sidebar-item/>,进行展示,这里不做详细介绍,

<el-scrollbar wrap-class="scrollbar-wrapper">
   <el-menu
    :default-active="activeMenu"
    :collapse="isCollapse"
    :background-color="variables.menuBg"
    :text-color="variables.menuText"
    :unique-opened="false"
    :active-text-color="variables.menuActiveText"
    :collapse-transition="false"
     mode="vertical"
    >
      <sidebar-item v-for="route in routes" 
       :key="route.path" 
       :item="route" 
       :base-path="route.path" 
      />
    </el-menu>
 </el-scrollbar>

<script>
import { mapGetters } from 'vuex'
import Logo from './Logo'
import SidebarItem from './SidebarItem'

export default {
  components: { SidebarItem, Logo },
  computed: {
    ...mapGetters([
      'sidebar'
    ]),
    routes() {
      return this.$router.options.routes;
    },
  }
}

由此可知要实现菜单栏的动态展示,在路由配置文件中,就不能将项目中所有的路由配置对象写在一起&#x

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值