vue使用防抖函数,vue 节流

  vue使用防抖函数,vue 节流

  本文主要介绍Vue中的防抖和节流方法,具有一定的参考价值。感兴趣的朋友可以参考一下,希望能帮到你。

  

目录

  什么是防抖/油门防抖(去抖)油门页面使用场景总结

  

何为防抖/节流

  先说防抖和节流。

  防抖(去抖)

  防抖是指同一事件在一段时间内会被触发多次,但我们的目的只是让他们在事件未被触发后执行,比如mousemove事件、输入框更改事件等。这个时候,我们需要一种方法来控制他。事件一段时间不执行后,执行事件,防抖。

  节气门(节气门)

  节流是指同一事件会在短时间内触发多次,但我们的目的是让它们在给定时间内只触发一次,比如滚动事件、点击事件等。这时候我们就需要一个方法来控制,一段时间内(0.5S/1S)只能触发一个事件,也就是节流。

  

防抖(debounce)

  //防抖

  导出默认函数去抖(fn,time) {

  时间=时间 200

  //计时器

  让定时器=空

  返回函数(.args) {

  var _this=this

  if(计时器){

  清除超时(定时器)

  }

  timer=setTimeout(function() {

  计时器=空

  fn.apply(_this,args)

  },时间)

  }

  }

  

节流(throttle)

  //节流

  导出默认函数throttle(fn,time) {

  让定时器=空

  时间=时间 1000

  返回函数(.args) {

  if(计时器){

  返回

  }

  const _this=这个

  timer=setTimeout(()={

  计时器=空

  },时间)

  fn.apply(_this,args)

  }

  }

  

页面使用

  只是用点击速度来模拟触发事件的频率。

  El-button @click=clickDebounce 防抖/el-button

  El-button @click=clickThrottle 油门/el-button

  //引用定义的JS方法

  从“@/utils/debounce”导入去抖

  从“@/utils/throttle”导入节流

  方法:{

  clickDebounce: debounce((e)={

  console.log(1)

  }, 1000),

  单击Throttle: throttle((e)={

  console.log(2)

  }, 1000),

  }

  

使用场景

  根据业务需求,可以有很多很多的使用场景。只举两个例子。

  防抖(debounce)搜索框自动搜索时,下拉框远程搜索时,用户无需完成输入即可保存请求资源。

  当鼠标移动时,鼠标停止,然后执行方法。

  滚动页面时为节流(throttle)

  

总结

  本文到此为止。希望能帮到你,也希望你能多关注我们的更多内容!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: