vue 权限按钮显示隐藏 (组件法)

2023-11-20

咱们做后台管理系统 肯定避免不了 权限菜单 权限按钮的显示与隐藏  我分享一下 我的实现:

  1. 创建一个权限显示隐藏的公共组件
<template>
  <div>
    <slot v-if="isShow" />
  </div>
</template>

<script>
  export default {
    props: {
      authItem: {
        type: [String, Array], //类型
        required: true, //必要性
      },
    },
    data() {
      return {
        isShow: false,
      }
    },
    created() {
      const authArr = this.$router.history.current.meta.btnPermissions
      const authItem = this.authItem
      if (Object.prototype.toString.call(this.authItem) === '[object Array]') {
        // 数组
        if (
          JSON.stringify(authArr.sort()) === JSON.stringify(authItem.sort())
        ) {
          this.isShow = true
        } else {
          this.isShow = false
        }
      } else {
        //字符串
        authArr.forEach((i) => {
          authItem == i ? (this.isShow = true) : (this.isShow = false)
        })
      }
    },
  }
</script>

 这里 我用的是直接从 路由数组中拿到 该页的 按钮权限标记 

 拿到使用 权限按钮组件的该页按钮权限标记数组 然后就可以进行判断

这里我做了判断 传过来的是单个字符串 或者 数组 

  1. 如果接收的是单个字符串 咱们就查看 权限标记数组里面是否有这个字符串 有就显示 没有就隐藏 
  2. 如果接收的是数组  咱们就对比 传过来的数组 和 权限标记数组 是否内容相同 相同就显示 反之隐藏

使用:

这里我传的是数组 必须该页权限数组和咱们传的这个数组一样 才会显示

组件可以局部注册 也可以全局注册 大家都会 我就不做介绍了哈

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

vue 权限按钮显示隐藏 (组件法) 的相关文章

  • 自动调整Google网站嵌入代码的高度(html)

    我正在使用 Google 协作平台嵌入 HTML 代码 将代码粘贴到 从网络嵌入 窗口中 输出的长度是可变的 我希望有一种方法可以动态调整父级的高度iframeGoogle 协作平台用于托管我的 HTML 我知道我可以使用 Google 协
  • 在 JavaScript 中生成 RSA 密钥对

    我最近发现了这个 RSA JavaScript 库 http www ohdave com rsa http www ohdave com rsa 但是 它要求预先生成密钥 这是我的问题 问题 我想在 JavaScript 中生成 RSA
  • 如何在 Firefox 控制台中访问附加内容脚本?

    我为 Firefox 和 Chrome 开发了一个插件 它有内容脚本 我想在浏览器选项卡的控制台中访问它们 在 Firefox 上网页控制台 https developer mozilla org en US docs Tools Web
  • Angular 2 Material 2 日期选择器日期格式

    我不知道如何更改材料2日期选择器的日期格式 我已阅读文档 但我不明白我实际上需要做什么 datepicker默认提供的输出日期格式为f e 6 9 2017 我想要实现的目标是将格式更改为类似的格式9 Jun 2017或任何其他 文档htt
  • 打开 md-calendar 时滚动到当前日期

    目前正在构建一个使用 Angular Material 的应用程序 我们需要一个 md calendar 组件 我们想要自定义按钮样式和内容 因此不使用普通的 md datepicker 问题是 当 md calender 打开时 滚动位置
  • window.onbeforeunload 在 Android Chrome 上不会触发 [alt.解决方案?]

    我开发了一个简单的聊天应用程序 我正在使用 window onbeforeunload当有人关闭选项卡 浏览器时 基本上是当用户离开房间时 通知其他用户 这是我的代码 scope onExit function scope chatstat
  • 以一定时间间隔连续重复运行 JavaScript 函数

    这是我的第一个问题 希望您尽快回答 我想要代码连续重复一个函数 我尝试了一些代码 但没有成功 我尝试了这段代码 我想在一段时间后重复这个功能 我努力了setInterval and setTimeout 但是 我还没有收到结果 这将重复该任
  • 如何动态突出显示网页上的字符串?

    我想创建带有 url 的页面 例如 http xyzcorp schedules 2015Aug24 Aug28 Jim Hawkins http xyzcorp schedules 2015Aug24 Aug28 Billy Bones
  • 将文本大小调整为矩形 在 Canvas HTML5 中调整大小

    我是 Canvas 新手 我正在创建一个网站 以在调整矩形大小时增加文本 我尝试了很多 但没有任何效果 实际上 我希望如果我仅按其宽度调整矩形大小 向左拉伸 向右拉伸 则仅应增加文本宽度而不是字体大小 我已经完成了字体大小 但发现增加孤立文
  • 如何用javascript正确读取php cookies

    考虑这个 php 和 javascript 代码 然后我在控制台中看到的是 utma 111872281 291759993 1444771465 1445374822 1445436904 4 utmz 111872281 1444771
  • jQM / jquery-collagePlus 使用问题

    我正在使用 jQM 构建应用程序 并且尝试使用 jquery collagePlus http ed lea github io jquery collagePlus http ed lea github io jquery collage
  • 了解 JavaScript - 资源

    使用 StackOverflow 的微型 Digit Blog 功能进行描述here https stackoverflow com about 我想发布以下我刚刚看到的 我觉得很有趣的谷歌技术谈话视频 我一直在理解 javascript
  • 如何在 Laravel 5.4 中加载 Vue 组件?

    我已经运行 npm run watch 并收到了消息 This dependency was not found in resources assets js app js To install it you can run npm ins
  • 在 React Navigation 中将 props 传递给自定义抽屉导航器

    在反应导航抽屉菜单中 我想显示用户名 John Doe 它处于我的主要组件的状态 Router 我怎样才能将自定义抽屉内容组件传递给它 额外信息 我从 AsyncStorage 中获取此名称 组件已挂载 这是我的代码 export defa
  • Google 地图 API:忽略 DirectionService 请求中的季节性限制

    我目前正在开发一张地图 其中显示两点之间的最短路线 使用不同的交通工具 我注意到 有时 例如在冬季关闭的道路不会被考虑在内 我发现我可以使用方向服务 下面的代码 忽略高速公路 收费站和渡轮 但我一生都无法弄清楚如何 是否可以忽略季节性限制
  • 如何处理requireJs超时错误?

    我正在使用 require js 作为加载框架编写一个移动混合应用程序 我遇到加载错误的问题 我想做的是在设备离线且无法下载在屏幕上显示地图所需的 google 地图 API 脚本时设置后备解决方案 我得到的只是 Uncaught Erro
  • 从 DirectionsRenderer 中获取折线或标记的事件

    我正在使用 DirectionsService 和路线方法来生成 DirectionsResult 我还使用 DirectionsRenderer 对象来显示结果 因为它非常易于使用 我在检测 Directions changed 事件时没
  • JavaScript 数组扩展语法的时间复杂度是多少?

    我想知道在 JavaScript 中使用数组扩展的时间复杂度是多少 是线性 O n 还是常数 O 1 下面的语法示例 let lar Math max nums 传播称为 Symbol iterator 有关对象的属性 对于数组 这将迭代数
  • 在 HTML5 iOS 7 / iOS 8 中显示十进制键盘

    经过几个小时的搜索后 我只是有一个简单的问题 是否有可能在网络浏览器输入字段中显示小数键盘 input type number 只显示数字 但我需要在左下角使用逗号或点 我尝试过任何事情 pattern step等等 但没有显示十进制键盘
  • 从输入类型编号获取无效值

    我正在使用输入类型数字 当它无效时 我如何从中获取值 例如 使用类型编号并仅打印 e 这本身是无效的 我正在使用 React 但我认为这个问题非常普遍 onChange event console log event target valu

随机推荐

  • Function overloaded in C++

    重载定义 如果两个函数名字相同并且在相同的域中被声明 但是参数表不同 则它们就是重载函数 重载函数条件 2 1 参数类型或参数个数不同 2 2 返回值不同不能视为重载 2 3 是否为常函数不能视为重载 2 4 对于普通类型参数只有const
  • C# 委托详解

    文章目录 前言 一 委托是什么 1 官方关于委托的概述 2 通俗解释 二 如何使用委托 1 使用委托详解 1 申明委托 2 编写委托对应的方法 3 实例化委托 4 使用委托 5 委托使用的综合案例 2 使用多播委托详解 委托链 1 关于多播
  • delphi 软件在线人数统计_Redis实现实时统计在线用户人数的几种方案

    一个业务系统网站每天人数的访问量是多少 在线人数是多少 这种业务我们在开发中就要预留 也是在我们的设计范围内的咯 因为一个正在运营的网站 每天都会用到统计 那在线人数是如何统计的呢 这里有几种方案 代码用laravel框架 可以作为开发中参
  • PostgreSQL9.4: jsonb 性能测试 - Postgres2015全国用户大会--重磅嘉宾佳作分享(谭峰)

    Postgres2015全国用户大会 重磅嘉宾佳作分享 谭峰 友情提示 2015Postgres全国大会将于2015年11月20至21日在北京举行 主会场设在北京丽亭华苑酒店 我们期待您的到来 2015Postgres全国大会官方报名地址
  • PAT (Advanced Level) 1001 A+B Format

    1001 A B Format 20 分 Calculate a b and output the sum in standard format that is the digits must be separated into group
  • 软件工程——软件实现

    在我们做好对软件的需求分析 设计之后 就是软件的实施部分了 主要包括软件实现 软件测试 测试方法 黑盒测试 主要是检查功能 数据 以及接口的问题 具体方法有等价划分 边界值分析 错误推断法 白盒测试 对程序所有逻辑路径进行测试 测试方法按覆
  • 点云Las文件是什么?

    点云Las文件是什么 1 LIDAR数据 2 LAS点云规格 3 LAS Header头文件 4 LAS Header版本与LAS点格式 5 点云Header与点格式对应关系 6 示例 查看点云文件的规格和格式 7 LAS读取可参考 pyl
  • python读取CT医学图像

    需要安装OpenCV和SimpleItk SimpleItk比较简单 直接pip install SimpleItk即可 代码如下 coding utf 8 import SimpleITK as sitk import cv2 LKDS
  • 5-Openwrt package Makefile

    Openwrt package Makefile 在 Openwrt main Makefile 章节里面有说道主Makefile会通过include package Makefile调用package下的Makefile package下
  • 华为OD机试(JAVA)真题 -- 斗地主

    1 斗地主起源于湖北十堰房县 据传是一位叫吴修全的年轻人根据当地流行的扑克玩法 跑得快 改编的 如今已风靡整个中国 并流行于互联网上 牌型 单顺 又称顺子 最少5张牌 最多12张牌 3 A 不能有2 也不能有大小王 不计花色 例如 3 4
  • 利用Java EE相关技术实现一个简单的Web聊天室系统

    利用Java EE相关技术实现一个简单的Web聊天室系统 1 编写一个登录页面 登录信息中有用户名和密码 分别用两个按钮来提交和重置登录信息 2 通过请求指派来处理用户提交的登录信息 如果用户名为本小组成员的名字且密码为对应的学号时 跳转到
  • Windows PowerShell初始化conda后(init conda)速度变慢,如何关闭?

    方法1 conda config set auto activate base false 结果 Windows PowerShell 在开启后不会激活conda base 环境 但开启速度仍然比原先很慢 gt 1000ms 方法2 在 C
  • coc安装插件报错 “unable to verify the first cetificate”

    通过 CocCconfig 打开coc settings json增加一个配置 http proxyStrictSSL false 参考 https github com neoclide coc nvim issues 1514 issu
  • cd mysql 权限不够_Mysql 8.x初次安装过程中遇到MySQL 服务无法启动的解决方法

    小白 测试个软件需要安装MySQL 第一次就遇到MySQL服务无法启动等一些问题 经过多方搜索尝试 初次安装并修改密码过程如下 文章中大写MySQL代表MySQL数据库软件自身 小写mysql8代表作者MySQL数据库软件解压后的文件路径
  • 华为交换机限速配置命令2016

    qos lr cir 1024 cbs 20048 1 华为s2300交换机如何配置端口限速 使用QOS命令来配置 网络带宽的10M 100M和1000M的单位是bps 即bit s 位 秒 而我们通常所说的100M大小的文件 这里的单位是
  • 关于面试总结13-app测试面试题

    前言 现在面试个测试岗位 都是要求全能的 web 接口 app啥都要会测 那么APP测试一般需要哪些技能呢 面试app测试岗位会被问到哪些问题 怎样让面试管觉得你对APP测试很精通的样子 本篇总结了app测试面试时候经常被问的10个相关问题
  • 解决深度下外接显示屏调整屏幕分辨率的问题

    将以下命令粘贴进去即可 cvt 1366 768 60 1368x768 59 88 Hz CVT hsync 47 79 kHz pclk 85 25 MHz Modeline 1368x768 60 00 85 25 1368 1440
  • 数据库概论笔记第五章(ER模型)

    E R模型 1 建立模型 数据库可以被定义为实体的集合和实体间的关系 实体集 相同类型的实体的集合 属性类型 实体集都拥有的描述性的属性 域domain 每个属性允许值的集合 简单simple属性 不可分割的属性 复合composite属性
  • sqlServer将一个表中的字段更新到另一个表中

    将表2 中 evaluate 字段更新到表1 UPDATE dbo 表1 SET evaluate c evaluate FROM dbo 表2 c dbo 表1 i WHERE c id i indexId
  • vue 权限按钮显示隐藏 (组件法)

    咱们做后台管理系统 肯定避免不了 权限菜单 权限按钮的显示与隐藏 我分享一下 我的实现 创建一个权限显示隐藏的公共组件