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>
相关推荐
程序猿小蒜3 分钟前
基于springboot的汽车资讯网站开发与实现
java·前端·spring boot·后端·spring
q***98525 分钟前
前端的dist包放到后端springboot项目下一起打包
前端·spring boot·后端
鹏多多10 分钟前
vue过滤器filter的详解及和computed的区别
前端·javascript·vue.js
Mintopia10 分钟前
🚀 Trae 国际版 Max 模型升级:算力与智能的共舞
前端·人工智能·trae
孟陬10 分钟前
在浏览器控制台中优雅地安装 npm 包 console.install('lodash')
javascript·node.js
Mintopia12 分钟前
🌍 WebAIGC的高算力消耗:技术优化与绿色计算路径
前端·人工智能·trae
Moment16 分钟前
LangChain 1.0 发布:agent 框架正式迈入生产级
前端·javascript·后端
亿元程序员39 分钟前
游戏接入微信登录(含上架应用市场)全流程
前端
晓得迷路了44 分钟前
栗子前端技术周刊第 106 期 - pnpm 10.21、Node.js v25.2.0、Bun v1.3.2...
前端·javascript·html
码上成长1 小时前
<script setup> 实战模式:大型组件怎么拆?
开发语言·javascript·vue.js