Vue实现防抖

用于在搜索框输入内容时,watch监听到输入框内容改变,发起axios请求获取数据的防抖

由于没有使用闭包,就把保存定时器的变量写在data里

 data () {
    return {
    // 用于保存防抖的定时器
      timeout: null,
		}
    }
methods: {
    // 防抖函数
    debounce (fn, delay) {
      if (this.timeout) {
        clearTimeout(this.timeout)
      }
      this.timeout = setTimeout(() => {
        // this.getSearchSuggest()
        fn()
      }, delay)
    },
   }
watch:{
	//监听输入框的输入
	serchInputText(){
	//传入要防抖执行的函数,延时时间
	this.debounce(this.getSearchSuggest, 500)
	}
}

你可能感兴趣的:(vue.js,vue.js,前端,javascript)