在项目中,频繁点击事件会添加重复数据,这样需要添加事件防抖,不管频繁点击多少次,控制1s中执行一次。代码如下: // 事件防抖 debounce(method, context) { clearTimeout(method.tId); method.tId = setTimeout(() => { method.call(context); }, 1000); }, addEvent: _debounce(function(_type, index, item) { this.eventlist.push({ a: this.eventlist.length + 1, b: true, c: '' }) setTimeout(() => { this.initQueryBuilder(this.eventlist.length) }, 500) }, 800),
这里是事件防抖和节流的链接,我也是根据这个链接,第一次使用,分享一下:
https://github.com/Advanced-Frontend/Daily-Interview-Question/issues/5