我们经常会遇到这种需求,现在我们在使用百度搜索的时候他们的思想也是
根据防抖节流而实现的,至于用防抖还是节流根据自己需求。
<template>
<input type="text" v-model.trim="sse">
</template>
<script>
const delay = (function () {
let timer = 0
return function (callback, ms) {
clearTimeout(timer)
timer = setTimeout(callback, ms)
}
})()
export default {
name : 'search',
watch : {
sse () {
delay(() => {
this.search()
}, 500)
},
methods :{
search () {
this.$axios
.get([url])
.then(response => {
// success
})
.catch(error => {
// error
alert('失败!')
})
}
}
}
}
</script>