vue节流实现
创建点击事件
<el-button @click="debounce">debounce</el-button>
如果按照传统js写法:
debounce(){
var flag = 1
if(flag === 1){
flag = 0
console.log('flag = ' + flag)
}
}
此时由于每次的点击时,都会调用一次debounce方法,所以还是会不停打印flag,无法实现节流。
所以需要在data中创建flag
debounce:
debounce(){
if(this.flag){
this.flag = false
console.log('flag =' + this.flag)
setTimeout(()=>{
this.flag = true
},1000)
}
节流实现