vue中实现button按钮的重复点击指令

csharp 复制代码
// 注册一个全局自定义指令 `v-debounce`
Vue.directive('debounce', {
  // 当被绑定的元素插入到 DOM 中时...
  inserted: function (el, binding) {
    let timer;
    el.addEventListener('click', () => {
      clearTimeout(timer);
      timer = setTimeout(() => {
        binding.value(); // 调用传给指令的方法
      }, 500);
    });
  },
  // 当绑定元素的父组件更新时...
  update: function (el, binding) {
    let timer;
    el.addEventListener('click', () => {
      clearTimeout(timer);
      timer = setTimeout(() => {
        binding.value(); // 调用传给指令的方法
      }, 500);
    });
  }
});

// 使用指令
// 在组件中
<template>
  <button v-debounce="myClickHandler">Click me</button>
</template>

<script>
export default {
  methods: {
    myClickHandler() {
      // 处理点击事件
    }
  }
}
</script>
相关推荐
Aliex_git7 分钟前
性能优化 - 构建体积优化
前端·javascript·笔记·学习·性能优化
QT 小鲜肉8 分钟前
【Linux命令大全】003.文档编辑之comm命令(实操篇)
linux·运维·服务器·javascript·chrome·笔记
千里马-horse13 分钟前
Rect Native bridging 源码分析--Array.h
javascript·c++·react native·react.js·bridging
xiaoxue..15 分钟前
React 之 自定义 Hooks
前端·javascript·react.js·面试·前端框架
华仔啊16 分钟前
JavaScript 防抖和节流的区别是什么?如何实现?
前端·javascript
钰衡大师32 分钟前
电商后台管理系统:动态路由刷新空白问题分析与解决方案
vue.js·elementui·前端框架
想唱rap1 小时前
缓冲区的理解和实现
java·服务器·前端·c++·python
勤奋的小米蜂1 小时前
vscode 自带终端无法正常执行例如npm命令---解决办法
前端·vue.js·vscode·npm
你怎么知道我是队长1 小时前
C语言---作用域
c语言·开发语言·javascript
Wpa.wk1 小时前
接口测试-多层嵌套响应处理-JSONPath使用(Java版)
java·前端·经验分享·python·测试工具·jsonpath