自定义权限指令与防止连点指令

news2024/12/22 20:58:09

1.权限指令

// 注册一个全局自定义权限指令 `v-permission`
Vue.directive('permission', {
	inserted: function(el, binding, vnode) {
		const {
			value
		} = binding; // 指令传的值
		// 'user:edit:phone','sysData:sample'
		const permissions = ['user:edit:address', 'sysData:entrust', 'sysData:flow']; // 自己拥有的所有权限

		if (value && value instanceof Array && value.length > 0) {
			const permissionFlag = value; // 元素上的权限
			const hasPermissions = permissions.some(permission => {
				return permissionFlag.includes(permission)
			})

			if (!hasPermissions) {
				el.parentNode && el.parentNode.removeChild(el)
			}
		} else {
			uni.showToast({
				title: '请设置操作权限标签值',
				icon: 'none'
			})
		}
	}
})

1.1模板代码-->使用

    <button v-permission="['user:edit:address','user:edit:phone']">自定义权限指令</button>
	<view class="tabs">
		<view v-permission="['sysData:entrust']">委托单</view>
		<view v-permission="['sysData:flow']">流转卡</view>
		<view v-permission="['sysData:sample']">样品标签</view>
	</view>

1.1运行结果

2. 防止连点指令

// 注册一个全局自定义防抖指令 `v-debounce`  连点多次只执行最后一次
Vue.directive('debounce', {
	inserted: function(el, binding, vnode) {
		let timer;
		el.addEventListener('click', () => {
			if (timer) {
				clearTimeout(timer)
			}
			timer = setTimeout(() => {
				binding.value()
			}, binding.arg || 500)
		})
	}
})

2.1模板代码-->使用

<button v-debounce:500="customFunc">自定义防抖指令</button>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1006778.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

WebStorm使用Element组件库

文章目录 WebStorm使用Element组件库1. webstorm使用vue文件2. 首先需要安装Element Plus2. 项目完成引入-以日历为例 WebStorm使用Element组件库 1. webstorm使用vue文件 在Test.vue文件中书写模板,并暴露对外接口 <script> export default {name: "Test" }…

第1章_freeRTOS入门与工程实践之课程介绍

本教程基于韦东山百问网出的 DShanMCU-F103开发板 进行编写&#xff0c;需要的同学可以在这里获取&#xff1a; https://item.taobao.com/item.htm?id724601559592 配套资料获取&#xff1a;https://rtos.100ask.net/zh/freeRTOS/DShanMCU-F103 freeRTOS系列教程之freeRTOS入…

VS Code 安装方法

1.安装控制台程序.NET SDK 功能&#xff1a;应用能够正常的运行和构建。 .NET SDK下载地址&#xff1a;下载 .NET(Linux、macOS 和 Windows) 2.安装驱动编辑器vscode vscode下载地址&#xff1a;https://code.visualstudio.com/Download 选择System Installer&#xff0c;…

数据在内存中的存储——练习5

题目&#xff1a; 5.1 #include <stdio.h> unsigned char i 0; int main() {for(i 0;i<255;i){printf("hello world\n");}return 0; }5.2 #include <stdio.h> int main() {unsigned int i;for(i 9; i > 0; i--){printf("%u\n",i);}r…

MCU软核 2. Xilinx Artix7上运行tinyriscv

0. 环境 - ubuntu18 - win10 vivado 2018.3 - git desktop - XC7A35TV12核心板 - ft2232hl小板&#xff08;用于程序烧录&#xff09; 1. git克隆源码 Git Desktop -> File -> Clone repository -> -> URL: https://gitee.com/liangkangnan/tinyriscv/ -> Lo…

Vue3样式绑定

文章目录 Vue3样式绑定1. class 属性绑定1.1 v-bind:class 设置一个对象&#xff0c;从而动态的切换 class1.2 在对象中传入更多属性用来动态切换多个 class1.3 直接绑定数据里的一个对象1.4 绑定一个返回对象的计算属性。这是一个常用且强大的模式1. 5 数据语法1.6 errorClass…

Mental Poker- Part 2

在part-1中&#xff0c;我们梳理了去中心纸牌游戏所面临的挑战&#xff0c;也介绍了一种改进的Barnett-Smart协议&#xff0c;part-2将深入了解该协议背后涉及的算法。 Discrete-log VTMF VTMFs包含4部分&#xff1a;key generation, mask, remask and unmask&#xff0c;这些…

2024年java面试--mysql(4)

系列文章目录 2024年java面试&#xff08;一&#xff09;–spring篇2024年java面试&#xff08;二&#xff09;–spring篇2024年java面试&#xff08;三&#xff09;–spring篇2024年java面试&#xff08;四&#xff09;–spring篇2024年java面试–集合篇2024年java面试–redi…

Matlab 2016安装MinGW-w64-4.9.2

Matlab 2016安装MinGW-w64-4.9.2 项目需求&#xff1a;需要将matlab中的.m文件编译为cpp文件 .dll .h .lib。 我相信大家在对matlab2016安装MinGW-w64出现了各种各样的问题。如&#xff1a;4.9.2安装失败&#xff1b;安装了其他版本但是matlab检测不到&#xff0c;或者其他各种…

stable diffusion安装及使用

最近在看这个&#xff0c;踩了一些坑&#xff0c;现在有点头绪了&#xff0c;记录如下 安装很简单&#xff0c;直接git下载下来&#xff0c;然后进到根目录执行./web-ui.py,第一次启动你没有模型他会帮你下载个默认模型&#xff0c;我有模型了&#xff0c;就先把这个模型放到*/…

【Python】从入门到上头— 使用re模块用于快速实现正则表达式需求(11)

正则表达式语法规则 详见 【Java基础】正则表达式应用 re模块 正则表达式是一种用来匹配字符串的强有力的武器。它的设计思想是用一种描述性的语言来给字符串定义一个规则&#xff0c;凡是符合规则的字符串&#xff0c;我们就认为它“匹配”了&#xff0c;否则&#xff0c;…

服务器上一个域名对应多个前端项目的nginx转发配置

场景&#xff1a; 当有两个前端项目A,B的时候&#xff0c;项目A&#xff08;对应端口8000&#xff09;和项目B&#xff08;对应端口8001&#xff09;分别部署在服务器的不同位置&#xff0c;通过服务器ip端口都能正常访问单独的项目A和项目B&#xff1b;现在要求两个项目共用一…

工作中有许多比较常用的SQL脚本

工作中有许多比较常用的SQL脚本&#xff0c;今天开始分几章分享给大家。 1、行转列的用法PIVOTCREATE table test (id int,name nvarchar(20),quarter int,number int) insert into test values(1,N苹果,1,1000) insert into test values(1,N苹果,2,2000) insert into test va…

整理一下5个全国化的股票十倍杠杆正规平台(2023最大十倍杠杆炒股平台)

在全国范围内&#xff0c;有诸多优秀的杠杆平台可供选择。本文将介绍5个全国化的股票十倍杠杆正规平台&#xff1a;红腾网、广瑞网、一鼎盈、广盛网、富灯网。 1. 红腾网 红腾网是国内的一家知名杠杆交易平台&#xff0c;平台以高效、便捷、安全的特点著称。 2. 广瑞网 广瑞…

拿走吧你,Fiddler模拟请求发送和修改响应数据

模拟伪造请求 方法一&#xff1a;打断点模拟HTTP请求 1、浏览器页面填好内容后&#xff08;不要操作提交&#xff09;&#xff0c;打开fiddler&#xff0c;设置请求前断点&#xff0c;点击菜单fiddler,”Rules”\”Automatic Breakpoints”\”Before Requests” 2、在页面上点…

数字孪生的实用性为何遭受质疑?这篇文章为你解答

数字孪生技术的实用性体现在哪&#xff1f;数字孪生技术不仅是当今科技领域的热点&#xff0c;也是各行各业不断探索和应用的新兴领域。这项技术的实用性在于它的多领域适用性和巨大潜力。然而&#xff0c;目前有许多声音认为数字孪生技术是一项“没用”的技术&#xff0c;仅仅…

扑克牌QB/T 2228标准

QB/T 2228-2013扑克牌 本标准规定了扑克牌的术语和定义、分类及组成、要求、试验方法、检验规则和标志、包装、运输、贮存。 本标准适用于纸质扑克牌。 规范性引用文件 下列文件对于本文件的应用是必不可少的.凡是注日期的引用文件,仅注日期的版本适用于本文件。凡是不注日期…

抖音生活服务“整编”,一场消费与产业的生态共赢

团券、到店、核销&#xff0c;这已经成为当代年轻人出去吃饭、理发等的日常&#xff0c;如同上网买衣服、买手机一样。这样的消费日常背后&#xff0c;稳定已久的生活服务行业再次硝烟弥漫。搅动一池春水的&#xff0c;是抖音等互联网后来者。 根据媒体报道&#xff0c;抖音生…

市场开始复苏,三星传调涨内存芯片高达20% | 百能云芯

随着行动内存芯片市场迹象显示出复苏迹象&#xff0c;并且最早在第四季度供不应求&#xff0c;三星电子已宣布将提高动态随机存取存储器&#xff08;DRAM&#xff09;和NAND闪存芯片的价格&#xff0c;幅度达到10%~20%。 韩国经济日报报道&#xff0c;知情人士透露&#xff0c;…

四川玖璨电子商务有限公司:怎么做视频运营?

视频运营是指通过策划、发布和推广视频内容&#xff0c;以吸引更多的用户观看&#xff0c;并实现商业价值的过程。在当今数字化时代&#xff0c;视频已经成为人们获取信息、娱乐消遣的重要方式之一&#xff0c;因此&#xff0c;如何做好视频运营成为了各大平台和个人所关注的焦…