vue中使用防抖
一、防抖定义:频繁操作防止抖动,在操作后 n 秒内不操作,才触发事件,若继续操作,则重新计时场景:输入框输入 缩放resizefunction debounce(func, delay = 300, immediate = false) {let timer = nullreturn function() {if (timer) {clearTimeout(timer)}if (immediate
一、防抖
定义:频繁操作防止抖动,在操作后 n 秒内不操作,才触发事件,若继续操作,则重新计时
场景:输入框输入 缩放resize
function debounce(func, delay = 300, immediate = false) {
let timer = null
return function() {
if (timer) {
clearTimeout(timer)
}
if (immediate && !timer) {
func.apply(this, arguments)
}
timer = setTimeout(() => {
func.apply(this, arguments)
}, delay)
}
}
三、vue中的使用方法
方法:写在公共方法utils里引入
import { debounce } from 'utils'
methods: {
appSearch:debounce(function(e.target.value){
this.handleSearch(value)
}, 1000),
handleSearch(value) {
console.log(value)
}
}
更多推荐
所有评论(0)