一线大厂常用的六大vue自定义指令合集之权限校验v-permission

前言

大家好,截至目前大厂中常用的六大vue自定义指令我们已经搞了四个了,今天就
来继续搞六大常用指令中的第五个指令 - 权限校验之v-permission。
在我们日常开发中权限校验是必不可少的一个环节,尤其是对于一些应用系统或一些中后台的开发,更是需要用到权限校验的。那么权限校验也有很多种类,比如菜单权限、组件权限甚至是小到元素权限等等,本文我们就将以元素权限为例,实现一个简单的权限校验自定义指令。
在有一些场景中我们可能会根据用户登录后所拥有的权限来决定哪些元素该显示,哪些元素不该显示。比如我们最常使用的就是增删改查操作,那么对于管理员来说权限很大,增删改查都有权限操作,而对于普通用户来说可能只有查询操作,这个时候就需要根据不同用户权限来决定元素的显示和隐藏了。
接下来我们就一起来分析一下如何实现一个元素权限校验的自定义指令

思路分析

  • 首先因为会涉及到元素的展示和隐藏操作,所以在我们自定义指令时就不能再用beforeMount钩子函数了,而是需要用mounted函数,也就是说等元素渲染后再去控制是否展示。
  • 在mounted函数中,我们首先需要获取登录用户所拥有的权限。一般情况下在用户登录后会去请求服务器获取用户权限,然后再把权限数据保存在vuex中。这里我们要做的就是把权限数据从vuex中解析出来,便于后续使用。(为了方便展示,我们就直接使用字符串代替了)
  • 权限数据拿到以后,我们还需要判断当前元素需要哪些权限,比如删除按钮需要的就是对应的删除权限,而这个权限在元素被定义时就应该已经确定了,所以我们应该在对应的元素中把需要的权限传给我们的自定义指令,然后再通过binding.value拿到该权限
  • 最后就是对比校验,看看当前元素所需要的权限是否存在于用户的权限列表中,如果存在则说明有权限元素应该显示,否则没有权限移除对应的元素。
  • 以上便是权限自定义指令的整体实现思路,相对来说还是比较简单的,下面我们来看一下具体的代码实现。

权限校验代码实现

<button v-permission="'add'">addbutton>
<

你可能感兴趣的:(小知识,VUE,vue.js,javascript,自定义指令,权限校验,v-permission)