vue 按钮 权限控制介绍

2022-04-15 0 694
目录
  • 一、步骤
    • 1.定义buttom权限
    • 2.定义store
    • 3.创建permission指令
    • 4.使用permission指令
    • 5.删除无权限数据
    • 6.传入状态管理数据
  • 二、概况

    前言:

    在日常项目中,会碰到需要根据后台接口返回的数据,来判断当前用户的操作权限。必须当有删除权限时,就显示删除按钮。没有这个权限时,就不显示或者删除这个按钮。通过查找资料,通过vuex来实现这个功能。

    一、步骤

    1.定义buttom权限

    state中创建buttomPermission,用于保存后台接口返回的权限数据。

    setPermission用于接受数据,将页面权限管理传入到buttomPermission对象中。

    使用vuex:

    Vue.use(Vuex)
    
    创建vue实例
    const store = new Vuex.Store({
        state: {
            buttomPermission: {}
        },
        mutations: {
            setPermission(state, permission) {
                state.buttomPermission = permission
            }
        }
    })
    export default store
    
    
    

    2.定义store

    import store from './store/index.js'
    
    new Vue({
        store,
        el: '#app',
        render: h => h(App)
    })
    
    
    

    3.创建permission指令

    新建directives文件夹,创建permission.js文件。

    这里使用inserted函数,在被绑定元素插入父节点时检测该元素是否有权限。

    inserted( el, bindings, vnode ) { }
    
    
    

    4.使用permission指令

    在按钮页面引入和定义 permission指令,并且在buttom中写入指令,绑定指令中相对于的值。

     <button v-permission="'add'">添加</button>
    import permission from './directives/permission'
    directives: {permission,},
    
    
    

    5.删除无权限数据

    permission指令,通过bindings获取该按钮绑定的value值,然后在buttomPermission对象中找到,然后判断是否有权限,如果没有权限,则删除该节点。

    inserted(el, bindings, vnode) {
            let btnPermissionValue = bindings.value;
            let boolean =vnode.context.$store.state.buttomPermission[btnPermissionValue];
            !boolean && el.parentNode.removeChild(el);
        }
    
    
    

    6.传入状态管理数据

    将状态管理数据,通过setPermission方法传入到权限管理中

    let permissions = {}
    this.$store.commit("setPermission", permissions);
    
    
    

    二、概况

    总的来说,就是通过vuex定义一个buttomPermission权限状态对象,然后再创建一个permissions指令,通过对每个buttom按钮使用permissions指令,并且绑定该按钮特定意义的值。然后在permission.js文件中,获取当前value值,从buttomPermission中得到当前按钮是否有权限,没有则直接删除掉当前按钮节点。

    到此这篇关于vue 按钮 权限控制介绍的文章就介绍到这了,更多相关vue 按钮 权限控制内容请搜索NICE源码以前的文章或继续浏览下面的相关文章希望大家以后多多支持NICE源码!

    免责声明:
    1、本网站所有发布的源码、软件和资料均为收集各大资源网站整理而来;仅限用于学习和研究目的,您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。 不得使用于非法商业用途,不得违反国家法律。否则后果自负!

    2、本站信息来自网络,版权争议与本站无关。一切关于该资源商业行为与www.niceym.com无关。
    如果您喜欢该程序,请支持正版源码、软件,购买注册,得到更好的正版服务。
    如有侵犯你版权的,请邮件与我们联系处理(邮箱:skknet@qq.com),本站将立即改正。

    NICE源码网 JavaScript vue 按钮 权限控制介绍 https://www.niceym.com/21813.html