Vue多页面 按钮级别权限控制 directive指令控制
2019-05-22 20:30
489 查看
Vue多页面 按钮级别权限控制 directive指令控制
利用driective 构建自己的指令,实现按钮级别权限
项目结构如下:
修改router.js
{ path: 'schools', name: '列表', component: () => import('./eduAdministration/SchoolList'), meta: { permissions: ['schools'], btnpermissions:['admin','test'], title: '列表', icon: '', scrollToTop: true } },
新建文件 btnPermission.js文件
内容如下
import Vue from 'vue' import store from '../index' /**权限指令**/ const has = Vue.directive('has', { bind: function (el, binding, vnode) { // 获取按钮权限 let Permissions = vnode.context.$route.meta.btnpermissions; console.log('permission',Permissions) if (!Vue.prototype.$_has(Permissions)) { let className=el.getAttribute("class") className=className.concat(" hidden") el.setAttribute("class",className) } } }); // 权限检查方法 Vue.prototype.$_has = function (value) { let isExist = false; debugger let PermissionsStr =store.getters.roles; if (PermissionsStr == undefined || PermissionsStr == null) { return false; } PermissionsStr.forEach((per)=>{ if (value.indexOf(per) > -1) { isExist = true; } }) return isExist; }; export {has}
将文件引入index.js
import Vue from 'vue' import Vuex from 'vuex' import app from './modules/app' import user from './modules/user' import getters from './getters' import permission from './modules/permission' import has from './modules/btnPermission' Vue.use(Vuex) const store = new Vuex.Store({ modules: { app, user, permission }, getters }) export default store
页面添加权限
el-button(size='mini' @click="handleEdit(scope.row)" v-has) 编辑
最后一步
在 css中添加hidden样式
<style scoped> .hidden { display:none; } </style>
大功告成
posted @ 2019-05-22 20:30 菜鸟的进击 阅读(...) 评论(...) 编辑 收藏
相关文章推荐
- Vue 指令实现按钮级别权限管理功能
- 基于Vue-Router和Vuex的页面访问权限控制
- Spring MVC+FreeMarker实现页面按钮权限控制1
- 权限管理系统之集成Shiro实现登录、url和页面按钮的访问控制
- 轻松搞定权限设计1-页面按钮控制(精确到某个用户和某个按钮)
- FastQ思考系列之EasyUI页面按钮权限控制
- SpringMVC+Spring+Mybatis +Annotation实现方法,按钮级别的细粒度权限控制
- Java web自定义标签按钮级别权限控制完美诠释(jplogic 快速开发平台)
- SpringMVC+Annotation实现方法、按钮级别的细粒度权限控制
- Vue 页面权限控制和登陆验证
- Vue + Element UI 实现权限管理系统 前端篇(十三):页面权限控制
- 通过SpringMVC+Annotation实现方法、按钮级别的细粒度权限控制
- vue 管理页面按钮权限
- 转载:VUE按钮权限控制获取不到父节点解决方法
- 详解VUE前端按钮权限控制
- [转]轻松搞定权限设计1-页面按钮控制(精确到某个用户和某个按钮)
- vue项目中按钮权限控制之自定义指令
- springmvc 按钮级别的权限控制
- 通过SpringMVC+Annotation实现方法、按钮级别的细粒度权限控制
- Vue 页面权限控制和登陆验证功能的实例代码