vue实现简单防抖(watch input)

Posted king-jin

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vue实现简单防抖(watch input)相关的知识,希望对你有一定的参考价值。

watch监控input值,如果用户快速输入值,就会持续触发watch 事件导致掉帧,用户体验受到影响,甚至加大服务器的压力
通过防抖来优化性能

<input type="text" v-model="searchStr">


const app = new Vue(
el:"#app",
data:
searchStr:"",
fun:null
,
watch:
searchStr: function (str)
if (typeof str ===‘string‘)
if (str.trim().length!==0)
this.debounce(this.changeStr,1000);
else


,
methods:
debounce:function(fn,wait)
if (this.fun!==null)
clearTimeout(this.fun)

this.fun = setTimeout(fn,wait)
,
changeStr:function(data)
console.log(data)
,


效果:当我持续快速向input输入时,只有停顿1秒才执行一次事件

技术图片

以上是关于vue实现简单防抖(watch input)的主要内容,如果未能解决你的问题,请参考以下文章

vue 简单实现函数防抖(debounce)和节流(throttle)

面试官说手写 :防抖和节流

JS防抖和节流

vue实现input输入模糊查询(三种方式)

vue实现登录界面输入框输入文字后登录按钮颜色改变与能点击

防抖函数