vue权限指令从陪伴到放弃

开始接触权限指令

刚开始学vue的时候,从网上克隆了那个star最多的后台管理系统(目前好像还是)。

看到用权限指令控制按钮可见与否的时候,觉得很神奇,很方便。

后来工作中也一直这么用着,新项目或接手的项目。

慢慢发现问题!!!

  • 有些组件用了报错
    如用在el-tooltip(element-plus)上时就会报错

Runtime directive used on component with non-element root node.

官网的解释是

  • 只能控制显示不显示
    如把不开权限的按钮变成disabled、或一个特别的样式。(好像样式上,也还可以做。。)
    如根据权限不同,布局的微调
  • 只能控制UI,无法响应逻辑变化
    如根据不同的权限,点击按钮后有不同的操作逻辑
  • TS类型提示不精确
    • 空着不填也不报错
    • 带修饰符的指令难以定义类型
      (这个只能定义另外的指令来实现,如本来修饰符用法auth.any,要定义一个新指令auth-any来使用。)

那么该怎么做?

让我们把指令抛掉,想想在react框架中是怎么做的?

对的,函数。

组件都可以是函数,权限判断当然用函数

不仅可以在template中,也可以在script中,统一就这一个。

  • 定义一个auth函数
  • 使用

完整使用示例

soon-admin-vue3
github.com/leafio/soon...
vue3 ts tailwind-css i18n国际化 多标签 可视化mock 移动端适配

支持一下

热情地欢迎各位兄弟姐妹的大力支持!

github: github.com/leafio?tab=...

期待至少一个项目能达成1000个star

期待至少一个npm能达成每周1000次下载

相关推荐
Mike_jia16 分钟前
uuWAF:开源Web应用防火墙新标杆——从工业级防护到智能防御实战解析
前端
掘金安东尼25 分钟前
Chrome 17 岁了——我们的浏览器简史
前端·javascript·github
袁煦丞25 分钟前
群晖NAS FTP远程文件仓库全球访问:cpolar内网穿透实验室第524个成功挑战
前端·程序员·远程工作
前端小巷子30 分钟前
JS 打造动态表格
前端·javascript·面试
excel42 分钟前
从卷积到全连接:用示例理解 CNN 的分层
前端
UNbuff_043 分钟前
HTML 各种事件的使用说明书
前端·html
Mr. Cao code1 小时前
探索OpenResty:高性能Web开发利器
linux·运维·服务器·前端·nginx·ubuntu·openresty
百思可瑞教育1 小时前
ActiveMQ、RocketMQ、RabbitMQ、Kafka 的全面对比分析
vue.js·分布式·rabbitmq·rocketmq·activemq·北京百思可瑞教育·百思可瑞教育
TechNomad8 小时前
设计模式:状态模式(State Pattern)
设计模式·状态模式
努力也学不会java8 小时前
【设计模式】 原型模式
java·设计模式·原型模式