当前位置: 首页 > news >正文

个人网页设计作品模板代码怎么写广州seo优化

个人网页设计作品模板代码怎么写,广州seo优化,大型集团网站建设,如何理解网络营销通过v-指令,控制页面上的权限按钮的显示隐藏。首先是我的权限按钮数据,通过登录接口后端返回,前端将数据存在vuex里,在调用指令时候获取到当前页面对应的按钮权限数组,通过v-指令传递标识判断是否在当前页按钮权限数组…

通过v-指令,控制页面上的权限按钮的显示隐藏。首先是我的权限按钮数据,通过登录接口后端返回,前端将数据存在vuex里,在调用指令时候获取到当前页面对应的按钮权限数组,通过v-指令传递标识判断是否在当前页按钮权限数组里,有则显示,无则隐藏。

借鉴博客

一、封装组件

在 src 目录下新建 directive 目录,在目录下新建 permission.js 文件:

以下代码可直接复制:注意使用了store

// import Vue from 'vue'
import store from '@/store'
import router from '@/router'// 检测是否有权限
// 使用Vue.directive声明自定义指令btn-key
export default {install(Vue) {Vue.directive('permission', {/*** inserted:被绑定元素插入父节点时调用* el:指令所绑定的元素,可以用来直接操作 DOM* binding.value:指令的绑定值,例如:v-directive="10" 中,绑定值为 10。*/inserted(el, binding) {// 使用Vue.nextTick()确保在DOM更新后执行操作--解决不更新DOM问题Vue.nextTick(function() {let lastColumns = [] // 获取该角色当前页的按钮列表// 在Vue Router加载完成后执行获取路由参数的操作let pagePathrouter.onReady(() => {pagePath = router.currentRoute.path // 当前路由// console.log('pagePath', pagePath)// console.log('store', store.getters['system/systemConfig']) // 获取vuex里面的后端登录返回的页面权限按钮数组arrList// 从vuex里获取所有页面权限按钮关系数据arrList const arrList = [{ path: '/defectManagement/defectRecord', btnList: ['add'] },{ path: '/defectManagement/defectMaintenance', btnList: ['add', 'edit', 'delete'] },{ path: '/normalPenetratTest/penetratResult/asset', btnList: ['add', 'detail', 'edit', 'delete', 'upload', 'highlight'] },{ path: '/normalPenetratTest/penetratResult/loophole', btnList: ['detail', 'edit', 'delete'] }]arrList.forEach(ele => {if (ele.path === pagePath) {lastColumns = ele.btnList || [] // 获取当前路由下的角色的按钮}})// console.log('获取当前路由下的角色的权限按钮数组', lastColumns)// 执行指令的操作const buttonKey = binding.value// 代表某个元素需要通过权限验证if (buttonKey) {const key = checkKey(lastColumns, buttonKey)console.log('指令触发了', lastColumns, checkKey(lastColumns, buttonKey))if (!key) { // 没有权限el.remove() // 删除按钮}} else {throw new Error('缺少唯一指令')}})})}})}
}// 检测传入的元素key是否可以显示
function checkKey(lastColumns, key) {// 如果传入的元素key不在权限数组里,则不可显示return lastColumns.indexOf(key) > -1
}//     <a-button v-permission="'delete'" type="primary">删除</a-button>

二、引入组件和使用

1.在入口文件 src\main.js 里面引入自定义指令:
import permission './directive/permission'
Vue.use(permission)
2.在使用的页面,按钮中只需引用v-operate指令,赋值判断即可:
<el-button @click='delHandle' type="primary" v-permission="'delete'">删除</el-button>
http://www.hrbkazy.com/news/45854.html

相关文章:

  • 上海想找人设计网站域名seo站长工具
  • 请人做网站后台密码搜狗竞价推广效果怎么样
  • 重庆建设厂招聘信息网站邢台网站公司
  • 任务放单平台百度地图排名可以优化吗
  • 企业做网站系统今日疫情最新情况
  • 定制网站建设公司哪家好百度推广需要什么条件
  • wordpress 如何回到初始化陕西seo快速排名
  • wordpress xueqiu合肥百度seo排名
  • wordpress中collapse网络seo软件
  • 免费商城网站建设东莞优化怎么做seo
  • phpstudy网站建设教程怎样自己做网站
  • 织梦网站熊掌号改造怎么做优秀品牌策划方案
  • 做网站好多钱门户网站排行榜
  • 网站域名迁移公告怎么制作一个自己的网站
  • 南阳企业网站建设公司seo1域名查询
  • 温州网站推广价钱爱站小工具计算器
  • 厦门做外贸网站优化网站软文
  • 廊坊市建设局网站发布推广信息的网站
  • 论坛申请网站备案前置审批百度网盘app官方下载
  • 用个人电脑做网站服务器查看浏览过的历史记录百度
  • 杭州滨江网站建设公司郑州seo关键词自然排名工具
  • 织梦网站织梦做英文版的交换链接是什么
  • 温州网站建设服务电子商务网络公司seo代码优化有哪些方法
  • 在线写代码的网站电商培训学校
  • 网站日常更新谁做自助建站官网
  • 网店运营教学windows优化大师和360哪个好
  • 网站开发流程asp营销型网站seo
  • 西安网站设设青岛seo杭州厂商
  • ImQQ网站是怎么做的哪里有学电脑培训班
  • 网站建设营销方案360优化大师旧版本