setTimeout()属于window的method,一般用来做时间延迟。
cleanTimeout()用来停止setTimeout()
例如:
vue项目函数截流:
data () {
return {
keyword: '',
list: [],
timer: null
}
},
watch: {
keyword () {
// 截流 开始 延迟100ms
if (this.timer) {
clearTimeout(this.timer)
}
this.timer = setTimeout(() => {
//逻辑代码
}, 100)
// 截流 结束
}
}
handleTouchMove(e) {
if (this.touchStatus) {
// 使用setTimeout进行函数截留,大大减少handleTouchMove方法的执行频率,提高网页性能
if (this.timer) {
clearTimeout(this.timer)
}
this.timer = setTimeout(() => {
//手指位置到input的距离 = 手指位置距离顶部位置 - header
const touchY = e.touches[0].clientY - 79
// 当前手指的字母位置
const index = Math.floor((touchY - this.startY) / 20)
if (index >= 0 && index < this.letters.length) {
this.$emit('change', this.letters[index])
}
},16)
}
},
未完待续。
。。