/**
* @method 节流函数(500ms内只能点击一次,点击后立即触发,重读点击无效,必须等3s只后才能点击第二次)
* @param {Function} {handler} 事件处理函数
* @param {Number} {delay} 恢复点击的毫秒数
*/exportconstthrottle=(handler, delay =500)=>{let last, deferTimer
returnfunction(...args){let that =this;let now =+newDate();if(last && now < last + delay){
deferTimer &&clearTimeout(deferTimer)
deferTimer =setTimeout(()=>{
last = now
handler.apply(that, args)}, delay)}else{
last = now
handler.apply(that, args)}}}
<template><div><button @click="IsButton"></button></div></template><script>//封装方法调用constthrottle=(handler, delay =500)=>{let last, deferTimer;returnfunction(...args){let that =this;let now =+newDate();if(last && now < last + delay){
deferTimer &&clearTimeout(deferTimer);
deferTimer =setTimeout(()=>{
last = now;handler.apply(that, args);}, delay);}else{
last = now;handler.apply(that, args);}};};exportdefault{data(){return{};},methods:{isButton:throttle(function(val){//val 点击事件的参数//这里写入点击事件的逻辑//3000ms时间},3000),},};</script><style></style>