vue自定义指令节流

节流在日常的按钮点击事件中很常见,这里简单封装了一个vue的自定义指令

在src目录下新建utils目录,在里面新建preventRepeatClick.js

在这里插入图片描述

preventRepeatClick.js的代码如下

export default {
    
    
  install(Vue) {
    
    
    // 防止重复点击
    Vue.directive('preventReClick', {
    
    
      inserted(el, binding) {
    
    
        el.addEventListener('click', () => {
    
    
          if (!el.disabled) {
    
    
            el.disabled = true
            setTimeout(() => {
    
    
              el.disabled = false
              // 设置默认时间为3秒
            }, binding.value || 3000)
          }
        })
      }
    })
  }
}

然后在main.js中引入

在这里插入图片描述

这样在全局就可以直接使用了(没有 =设定时间的话默认的就是自定义的时间)

在这里插入图片描述

使得一定时间内只触发一次函数为节流

防抖原理是维护一个计时器

其它应用场景可以点击看这里

猜你喜欢

转载自blog.csdn.net/qq_51678620/article/details/120429139