Vue函数防抖和节流https://zhuanlan.zhihu.com/p/72363385

<template>
<div>
<input type='text' v-model='value' @keydown = "hangleChange">
</div>
</template> <script>
function debounce(func, wait=1000){
let timeout;
return function(event){
clearTimeout(timeout)
timeout = setTimeout(()=>{
func.call(this, event)
},wait)
}
}
export default{
name:'',
data(){
return{
value:''
}
},
methods:{
hangleChange:debounce(function(e){
console.log(this.value)
})
}
}
</script>
节流

<template>
<div class="scroll" ref="previewText" @scroll.passive="fnScroll">
</template>
<script>
export default{
name:'globalHospot',
data(){
return{
count:0,
fnScroll:() =>{}
}
},
methods: {
fnHandleScroll (e) {
console.log('scroll触发了:' + this.count++, new Date())
},
fnThrottle(fn, delay, atleast){ //节流函数
let timer = null;
let previous = null;
return function(){
let now = +new Date()
if(!previous) previous = now;
if(atleast && now - previous > atleast){
fn();
previous = now;
clearTimeout(timer)
}else{
clearTimeout(timer)
timer = setTimeout(()=>{
fn();
previous = null
},delay)
}
}
}
},
created(){
this.fnScroll = this.fnThrottle(this.fnHandleScroll, 1000) //刚创建时执行
},
}
</script>

最新文章

  1. Redis模式匹配删除key
  2. Git ——分布式版本控制系统
  3. 使用Javascript监控前端相关数据
  4. 什么时候使用CountDownLatch
  5. 地理围栏算法解析(Geo-fencing)
  6. 【MySQL】MySQL索引背后的之使用策略及优化【转】
  7. C#中的多态现象
  8. HDU 1598 find the most comfortable road (MST)
  9. fil_space_create
  10. yum命令学习
  11. 中国天气网接口返回json格式分析及接口(XML、图片接口)说明
  12. SRM 500(2-1000pt)
  13. FFT算法的物理意义
  14. Docker私有仓库3
  15. js详解之作用域-实例
  16. OSX MacVim + vim-lldb配置和使用心得
  17. java1.8十大新特性详解
  18. 【Spring源码分析系列】ApplicationContext 相关接口架构分析
  19. 【CH4201】楼兰图腾
  20. Texas Instruments matrix-gui-2.0 hacking -- json.txt

热门文章

  1. 开发工具Intellij IDEA:常用快捷键
  2. VS2015编译问题:模块对于 SAFESEH 映像是不安全的
  3. sass、less中的scoped属性
  4. 所有input输入完成后,改变按钮颜色
  5. 洛谷P3373 【模板】线段树 2 &amp;&amp; P2023 [AHOI2009]维护序列——题解
  6. 如何在Ecplise调试之后恢复原来的界面
  7. EasyUI combotree 设置节点折叠和叶子节点循环展开的BUG
  8. 北风设计模式课程---里氏替换原则(Liskov Substitution Principle)
  9. POJ2395 Out of Hay(求最小生成树中最大的边权,Kruskal)
  10. 设计模式-Runoob:设计模式简介