这篇文章主要讲解了“vue按钮怎么实现权限控制”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“vue按钮怎么实现权限控制”吧!
一、步骤
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按钮怎么实现权限控制这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!