防抖是在事件被触发n秒后再执行回调函数,如果在这n秒内又被触发,则重新计时。
<template>
<div>
<input v-model="value" @keyup="handleChange" />
</div>
</template>
<script>
export default {
name: "",
data() {
value:"",
times: null
},
method: {
handleChange() {
if(this.times){
clearTimeout(this.times)
}
this.times = setTimeout(() => {
//调用接口
}, 500);
}
},
beforeDestroy(){
clearTimeout(this.times);
},
}
</script>
使用Vue实现防抖效果
本文介绍了如何在Vue组件中实现防抖(debounce)技术,通过一个简单的输入框监听keyup事件的例子,展示了如何在用户停止输入500毫秒后才执行回调函数,有效地避免了频繁调用接口的问题。在`beforeDestroy`生命周期钩子中清理定时器,确保资源的释放。
873

被折叠的 条评论
为什么被折叠?



