当前位置:首页 > 技术分析 > 正文内容

vue3.2 自定指令的用法并实现按钮级权限

ruisui883周前 (04-11)技术分析10

1、定义自定义指令

app.directive('my-directive', {
  mounted(el, binding, vnode) {
    // 指令被绑定
  },
  updated(el, binding, vnode, prevVNode) {
    // 指令的值更新
  },
  unmounted(el, binding, vnode) {
    // 指令被解绑
  }
})

2、绑定自定义指令

使用v-前缀绑定自定义指令,指令加上参数或修饰符,例如:

其中,arg为指令参数,modifier为指令修饰符。

实现按钮级权限的自定义指令应该如下所示:

app.directive('permission', {
  beforeMount(el, binding, vnode) {
    const { value } = binding
    const permissions = ['edit', 'delete']
    if (value && !permissions.includes(value)) {
      el.disabled = true
      el.classList.add('disabled')
      el.title = '无权限'
    }
  }
})

使用v-permission指令来绑定,例如:



其中,v-permission指令的值为按钮权限,即'edit'或'delete'。对于没有权限的按钮,将被禁用,添加disabled类,并设置title提示“无权限”。

扫描二维码推送至手机访问。

版权声明:本文由ruisui88发布,如需转载请注明出处。

本文链接:http://www.ruisui88.com/post/3421.html

标签: vue 修饰符
分享给朋友:

“vue3.2 自定指令的用法并实现按钮级权限” 的相关文章

使用cgroup限制进程资源

这里使用containerd项目中的cgroup包来实现进程资源限制。先写一个耗费一个CPU并且一秒增加10m内存的测试进程package mainimport ( "fmt" "math/rand" "time")func main() { go f...

Acustica Audio 发布模拟Roland Jupiter 双声道合成器插件 TH2

福利: Acustica Audio 发布模拟Roland Jupiter 风格的双声道合成器插件 TH2 免费下载 意大利 Acustica Audio 公司发布布模拟Roland Jupiter 风格的双声道合成器插件 TH2 ,灵感来源于Acustica Audio的THING-8系列,它是...

虚幻引擎5.5发布

IT之家 11 月 13 日消息,虚幻引擎 5.5 现已发布。据介绍,新版本虚幻引擎在动画创作、虚拟制作和移动游戏开发方面取得进步;渲染、摄像机内视觉特效和开发人员迭代等领域的部分功能已可用于生产。IT之家整理部分功能亮点如下:动画Sequencer增强虚幻引擎的非线性动画编辑器 Sequencer...

VUE-router

七.Vue-router1、什么是vue-routervue-router是vue.js官方路由管理器。vue的单页应用是基于路由和组件的,路由用于设定访问路径,并将路径和组件映射起来。传统页面切换是用超链接a标签进行切换。但vue里是用路由,因为我们用Vue做的都是单页应用,就相当于只有一个主的i...

Vue Router 4 路由操作 - 路由导航

路由导航分为 声明式导航 和 编程式导航。通过 <router-link to="..."> 标签跳转的方式为声明式导航。通过 路由实例对象(router.push(...))跳转的为编程式导航。导航到不同的位置想要导航到不同的URL,使用 router.push 方法。...

精品微信小程序在线考试系统+后台管理系统|前后...

《微信小程序在线考试系统+后台管理系统|前后分离VUE》该项目含有源码、论文等资料、配套开发软件、软件安装教程、项目发布教程等本系统包含微信小程序前台和Java做的后台管理系统,该后台采用前后台前后分离的形式使用Java+VUE微信小程序——前台涉及技术:WXML 和 WXSS、JavaScript...