Vue-cli组件中写一个节流函数

Posted 水火和牛

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Vue-cli组件中写一个节流函数相关的知识,希望对你有一定的参考价值。

节流:多次触发同一个事件,但是n秒之后才执行一次函数,如果n秒之后再次触发,那么将会重新计算执行函数的时间,节流函数无疑能够减少性能的消耗。

 

1.在data中定义一个timer

data(){
  return {
    timer:null
  }
},

 

2.在methods中写函数

throttle(wait){
  return ()=>{
    if(this.timer){
      console.log(‘timer:‘+this.timer)
      clearTimeout(this.timer)
    }
    this.timer = setTimeout(()=>{this.printer();
    },wait)
  }
},

 

3.写一个要执行的方法,比如打印

printer(){console.log(‘1234‘);
},

 

4.接下来,在触发事件的时候,调用下方法就行,比如点击的时候执行 throttle(2000)()

 

节流函数原理:触发事件的时候,判断上一次定时器的返回值,如果有,就清除掉,在规定的时间内,没有清除定时器,就会执行我们的目标函数

 

以上是关于Vue-cli组件中写一个节流函数的主要内容,如果未能解决你的问题,请参考以下文章

vue-cli3组件的使用

节流/防抖函数 和 better-scroll解决移动端滑动卡顿问题

Reactreact概述组件事件

IO(字节流字符流)

vue-cli监听组件加载完成的方法

React 函数组件与class组件的区别