VUE自定义指令,方法指令、权限指令,重点讲解方法指令(点击事件指令)

本文介绍如何在Vue中创建自定义指令,包括方法指令与权限指令的实现。通过`customDirectives.js`文件全局引入,用于权限判断和点击事件处理。`v-role`用于权限校验,不显示无权限的按钮;`v-role-click`为自定义点击事件,可替代`@click`,并传递当前按钮权限值和模块值。
摘要由CSDN通过智能技术生成

先附上自定义指令代码,然后解释 (大神只需要看关键代码)

 

自定义一个customDirectives.js

放到自己想放的目录(滑稽),我是决定在main.js全局引入,因为很多界面都要用,也可以用局部引入

const customDirectives = {}

function directives(Vue, options) {
  /**
   * 带权限ID参数的点击指令
   */
  Vue.directive('role-click', {
    inserted(el, binding, vNode) {
      /*第一次初始化点击事件*/
      roleClickChange(el, binding, vNode);
    },
    componentUpdated(el, binding, vNode) {
      /*数据更新后,更新点击事件,重新绑定参数(这一步操作是为了解决在调用时,传了自定义的动态参数,参数不更新问题)*/
      roleClickChange(el, binding, vNode);
    }
  })

  /**
   * 按钮权限指令
   */
  Vue.directive('role', {
    inserted(el, binding, vNode) {
      let isPermission = false;//是否有权限
      //获取权限值,可以通过指令直接传参,或者从一个自定义的属性获取值
      let number = binding.value;
      if(!number){
        number = (el.attributes['roleNum'] !==
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Gavino.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值