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

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

ruisui882个月前 (04-11)技术分析26

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 自定指令的用法并实现按钮级权限” 的相关文章

带你五步学会Vue SSR

作者:liuxuan 前端名狮转发链接:https://mp.weixin.qq.com/s/6K6GUHcLwLG4mzfaYtVMBQ前言SSR大家肯定都不陌生,通过服务端渲染,可以优化SEO抓取,提升首页加载速度等,我在学习SSR的时候,看过很多文章,有些对我有很大的启发作用,有些就只是照搬官...

Vue中的路由配置常用属性

router:路由页面跳转的核心库;引入路由:import VueRouter from 'vue-router'; 注册路由:const router = new VueRouter({ })mode:模式路由有hash history两种模式:hash模式URL中包含#,#后边是...

基于Spring Cloud+VUE的多租户小程序商城源码「快速二开可商用」

一、系统介绍JooLun平台是一个专注微信快速二开系统研发的平台,采用Java语言开发,使用的是最新微服务前后端分离技术,目前有公众号和小程序商城两个版本,有公众号后台管理、小程序商城。基于Spring Cloud微服务+VUE实现的核心框架多租户小程序商城源码,核心框架采用SpringBoot2+...

vue.js 双向绑定如何理解,有什么好处!#云南小程序开发

Vue.js 的双向数据绑定是借助于 JavaScript 的一些特性,如对象的属性 getter 和 setter 以及 Vue 的依赖追踪系统实现的。简单来说,双向数据绑定就是数据与视图间的双向通信,也就是说数据的改变会马上反映到视图中,视图的改变也会立刻改变数据。具体来说,当你改变了数据时,视...

微信企业号首款永久免费应用问世

7月14日,微信企业号移动办公应用领跑者——办公逸宣布:其所研发的微信办公应用将永久免费,企事业单位只要拥有微信企业号都可以免费安装办公逸各项应用,此举标志着微信办公免费时代现已到来!据悉,办公逸(www.bangongyi.com)现已推出四大微信办公套件,分别为:移动办公管理套件、客户关系管理套...

什么是异步,什么是同步,啥意思?

概述:本文讨论了程序设计领域的同步、异步和多线程的一些基本概念。同步异步这两个词翻译的其实不通。我是不知道这两个词是啥意思。同步:步伐整齐;异步:步伐不整齐。大概这个意思,但是在编程设计领域啥意思?国人的烦恼多来自于不明确的翻译所造成的后果。异步对应的英文是Asynchronous。这个词的含义是“...