范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文

VUE3你不知道的按钮与菜单权限

  前几篇文章我们已经把后台的基础搭建好了,感兴趣的朋友可以看看之前的基础搭建前端开发从零搭建VUE后台深入了解VUE3实践 - 搭建后台(二)深入了解VUE3实践 - 搭建后台(三)深入了解VUE3实践 - 搭建后台(四)深入了解VUE3实践 - 搭建后台(五)前言
  上一篇文章我们获取了菜单以及路由的添加。今天我们就来说说菜单的数据结构,以及我们要怎么添加菜单权限和按钮权限开始在开始之前,我们先来设想一下菜单和按钮权限的设计。先说说菜单吧,菜单我们需要不同的用户登录,显示不同的菜单。我们可以通过后台把对应用户的菜单返回,我们在通过
  router.addRoute添加的路由中。不清楚的同学可以查看一下上一章。这样我们的菜单就完成了。那我们的按钮权限呢?我们下面把主要精力放在按钮的权限上。我们先看看后台返回的数据吧
  后台返回的菜单数据(包含按钮)const data  = [   {     permissionId:1, // 权限id     permissionName:"首页", // 权限名称     parentId:0, // 父级     menuUrl:"/home", // 路由     hidden:false, // 是否隐藏     component:"home/index.vue", // 组件     buttonList:["/home/list"], // 按钮权限     childrenList:[], // 子级数据   },   ... ];  我们假设后端返回给我们的数据就是这样的。下面我们就开始按钮的权限了。按钮权限的设计
  我们这里的按钮权限设计,安装最简单的模式来。就是判断当前的用户是否有当前按钮的权限。直接一点就是判断当前buttonList中是否有指定的按钮路由。
  思路我们已经有了,下面我们就开始进行代码的编写了。我们分成两步来实现。
  1、合并所有的按钮权限到一个数组中去。
  不知道大家还记不记得,在上一章我们在Admin.vue页面中获取到了菜单。//返回的按钮菜单 let data = store.state.global.menus;
  下面我们就从菜单中提取按钮权限//合并按钮权限 let btnList = filterMenusList(data); store.commit("setAuthBtns", btnList);  在这里我们把处理后的菜单存放到了store中去了, 我把处理的函数filterMenusList,放到了utils.js文件中了
  utils.js/**  * 处理菜单数组,返回按钮集合  * menus 菜单数据  */ export function filterMenusList(menus){     const buttonList = [];     menus.length > 0 && menus.map((vo, key) => {         if(vo.buttonList.length == 0 && vo.childrenList.length > 0){             buttonList[vo["path"]] = (permissionList(vo.childrenList));         }else{             buttonList[vo["path"]] = vo.buttonList;         }     });     return buttonList; }
  这里按钮的数据我们已经获取到了,下面我们就是使用了
  2、使用按钮权限
  在util下创建permission.jsimport store from "@/store";  // 用来控制按钮的显示 export function hasBtnPermission(permission) {     const myBtns = store.state.authBtns;     return myBtns.includes(permission); }
  在mian.js文件中调用import { hasBtnPermission } from "./util/permission" //引用按钮权限文件  //绑定到全局属性中去 app.config.globalProperties.hasPer = hasBtnPermission;
  3、使用添加关于我们
  结束语
  已经就是菜单与按钮权限的设计流程,这个也是最简单的。其实在实际应用中我们还有更复杂的设计。如果你有什么问题,或者有新的设计思路可以和大家一起交流一下。

巨幕时代到来,客厅秒变电影院随着人们对生活品质的追求,对各类智能应用要求也越来越高,各种人工智能技术都开始应用到家庭场景里,为用户打造更加便捷健康的生活。而在家庭娱乐场景里,智能电视也开始了新一轮的角逐,面板1450元起售?红米6A同款四核芯片,TCL新机正式发布作为传统家电厂商,TCL早早布局智能手机市场,可惜多重原因影响未能站稳脚跟,四五年前基本淡出人们的视野。最新消息显示,TCL旗下一款入门手机发布,搭载联发科多年前的四核低端芯片,而诺基亚N100渲染图蔡司双主摄骁龙8芯片,顶级配置能否重回巅峰诺基亚没能跟上智能手机的脚步,从王者跌到了青铜,产品销量一落千丈,回想当年诺基亚嘲笑苹果触屏操作是一种愚蠢的行为,现在想想都觉得太可笑了。如今诺基亚终于领悟了识时务者为俊杰这个道理毛子的芯片制造能力几乎是0,为啥不怕制裁?有底牌仗着半导体技术领先,老美又开始作妖了。近期,有消息传出,其将对毛熊实行类华为禁令,禁止使用含有美专利的高科技技术及包含技术的相关产品出口。想要借此实行制裁。咱们都知道,全球半导体产iPhone14渲染图曝光,iPhone12沦为百元机,果粉后悔买早了每一代苹果都会吸引外界的目光,比如下一代iPhone14系列就吸引了众多消费者的目光。外媒曝光了下一代iPhone14ProMax的外观设计,采用了打孔的摄像头屏幕。当然,这只是暴我年轻时玩过的四款单反相机,在那个年代已足够风光了那些年,那些岁月,因为喜欢摄影,玩过的相机真的无数了。我第一次接触照相机是1981年,和同学出去玩,他带了一台海鸥4A,他主照,我看得眼馋手痒,他也给我按了几次快门。那感觉,今天似闲谈中德合资相机长江巴尔达小到极致,做口袋机太理想了春节前找东西,无意中翻出一台小相机长江巴尔达。把玩了一阵儿,发现它不是我最初买的的那台,好像是后来二手市场淘来收藏的,于是不死心,继续找,终于找到我最初的那台CE35,而后淘的这台如果微信支付宝需要交会员费,你还会继续使用吗?微信作为我们生活中必不可缺少的一款聊天软件,基本上大部分人已经离不开微信了。所以就有很多网友好奇,如果微信和支付宝也像那些视频网站一样,比如爱奇艺,腾讯视频等各大APP都开始按月收2021年世界前沿科技发展态势总结及2022年趋势展望信息篇国际技术经济研究所全体同仁祝各位读者朋友新年快乐幸福安康。感谢大家长久以来的关注和支持,也期待未来我们能一直有你相伴。我们将在春节期间连续九天献上专题文章年度科技发展态势总结与展望Java9特性响应式流(ReactiveStream)什么是流形象的比喻来说就是如同水一样绵绵不绝的数据形式。而抽象点来说,是有一个生产者(source)产生,由一个或者多个消费者(sink)消费的数据元素(item)序列。那从这个抽冰箱哪个牌子好?分享6个选购要点,买对冰箱再也不是难题冰箱是我们家居生活中很重要的一款家电,一台合适的冰箱可以大大提升我们的家庭幸福感,那么冰箱到底是哪个牌子更好呢?下面给大家分享6个选购要点,让你轻轻松松买对适合自己的冰箱。1冰箱哪
三星新目标6月前开发出第六代11nm1cDRAM芯片本文转载自全球半导体观察公众号近日,韩国媒体BusinessKorea报导,全球最大存储器制造商韩国三星设定了目标,预计在今年6月前,完成11纳米的第六代1cDRAM芯片的开发。报不后悔系列综合数据最强的二手手机,以下4部买到就是赚到春日生活打卡季应网友私信要求,今天给大家推荐目前市场上综合数据最强的4部二手手机,买到就是赚到。三星GalaxyNote8128G(二手价1328元),三星GalaxyNote8是一个手机壳卖21万!比8848还土豪的品牌,凭啥忽悠1万多个有钱人文金错刀频道手机品牌的日子越来越不好过了。一部部没有新意的新机,让人毫无换机的欲望,手机出货量连年下跌。就连苹果也难逃此劫,苹果分析师郭明錤预测,最新的iPhoneSE三代出货量将性价比之选,家用办公皆合适,雕塑家MF16LC便携式显示器在科技发展时代里,便携二字总能成为产品的卖点,尽管有时候难于和高性能划上等号,但这并不影响人们对便携产品的喜爱,在性能够用的前提下,摆放更容易携带更方便,这难道不香吗?不知道大家听最高省下千元这三个时间换手机最划算转自中关村在线作者高健现在这年头,换什么都得精打细算,像手机这种日常用品更是如此,看发布会选配置,逛电商比价格,去实体店上手体验,一顿操作猛如虎,一看优惠两块五。其实,咱们换手机全2K全面屏!骁龙8Gen15000mAh120W,小米新旗舰芳香四溢作为国产五大智能手机厂商之一,小米科技现如今的研发技术确实很强,且发展方面也臻臻日上。比较难能可贵的是,小米科技并没有为了国产化而国产化,裹挟消费者朴素的爱国情感,以牺牲用户体验为小米POCOC40将搭载新系统MIUIGo小米POCOC40搭载的是JR510芯片,可能成为首款搭载MIUIGo操作系统的小米手机。JR510是入门级处理器,该处理器来自瓴盛科技,瓴盛科技成立于2018年,小米曾1亿元投资OPPOvivo小米,4月下旬新机4月20日,RealmeQ5系列Q5i1080P90Hz水滴屏天玑81033W快充5000毫安电池Q5120Hz6档变速高刷LCD屏骁龙69560W快充5000毫安电池Q5Pro在12GB256GB超大内存国潮新机,realme真我V23起售价1699元敢越级的科技潮牌realme真我手机再发新品,价位段首款超大内存手机国潮新机realme真我V23,起售价1699元。作为realme又一科技国潮新作,真我V23创新采用琉璃幻彩设小米CiviS即将发布,小米12X跌至新低,2629元威胁中端机距离小米12系列发布,已经有3个多月的时间了。小米12系列的三款手机都开始降价了,但是依旧没有看到小米的其他新机亮相。很多人都在期待小米能够在上半年推出小米12系列的超大杯,从最新无惧炎夏,黑鲨5Pro配逆重力双VC液冷4199元起今年3月,黑鲨科技发布了全新黑鲨5系列游戏手机,其中系列旗舰黑鲨5Pro配备了全新的逆重力双VC液冷散热系统,在气温越来越高的初夏,为玩家带来流畅的游戏体验。面对移动处理芯片发热量