vue中實現(xiàn)防抖和節(jié)流

防抖函數(shù)的使用場景: 頻繁觸發(fā)厅翔、輸入框搜索

<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>

節(jié)流函數(shù)的使用場景:頻繁觸發(fā)晋涣、onrize伙菊,onscroll滾動條

<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觸發(fā)了:' + this.count++, new Date())
    },
    fnThrottle(fn, delay, atleast){  //節(jié)流函數(shù)
      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)  //剛創(chuàng)建時執(zhí)行
  },
}
</script>
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末迫像,一起剝皮案震驚了整個濱河市漫玄,隨后出現(xiàn)的幾起案子茄蚯,更是在濱河造成了極大的恐慌,老刑警劉巖睦优,帶你破解...
    沈念sama閱讀 212,383評論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件渗常,死亡現(xiàn)場離奇詭異,居然都是意外死亡汗盘,警方通過查閱死者的電腦和手機皱碘,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,522評論 3 385
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來隐孽,“玉大人癌椿,你說我怎么就攤上這事』捍祝” “怎么了如失?”我有些...
    開封第一講書人閱讀 157,852評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長送粱。 經(jīng)常有香客問我褪贵,道長,這世上最難降的妖魔是什么抗俄? 我笑而不...
    開封第一講書人閱讀 56,621評論 1 284
  • 正文 為了忘掉前任脆丁,我火速辦了婚禮,結果婚禮上动雹,老公的妹妹穿的比我還像新娘槽卫。我一直安慰自己,他們只是感情好胰蝠,可當我...
    茶點故事閱讀 65,741評論 6 386
  • 文/花漫 我一把揭開白布歼培。 她就那樣靜靜地躺著,像睡著了一般茸塞。 火紅的嫁衣襯著肌膚如雪躲庄。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,929評論 1 290
  • 那天钾虐,我揣著相機與錄音噪窘,去河邊找鬼。 笑死效扫,一個胖子當著我的面吹牛倔监,可吹牛的內容都是我干的直砂。 我是一名探鬼主播,決...
    沈念sama閱讀 39,076評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼浩习,長吁一口氣:“原來是場噩夢啊……” “哼静暂!你這毒婦竟也來了?” 一聲冷哼從身側響起瘦锹,我...
    開封第一講書人閱讀 37,803評論 0 268
  • 序言:老撾萬榮一對情侶失蹤籍嘹,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后弯院,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,265評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡泪掀,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,582評論 2 327
  • 正文 我和宋清朗相戀三年听绳,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片异赫。...
    茶點故事閱讀 38,716評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡椅挣,死狀恐怖,靈堂內的尸體忽然破棺而出塔拳,到底是詐尸還是另有隱情鼠证,我是刑警寧澤,帶...
    沈念sama閱讀 34,395評論 4 333
  • 正文 年R本政府宣布靠抑,位于F島的核電站量九,受9級特大地震影響,放射性物質發(fā)生泄漏颂碧。R本人自食惡果不足惜荠列,卻給世界環(huán)境...
    茶點故事閱讀 40,039評論 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望载城。 院中可真熱鬧肌似,春花似錦、人聲如沸诉瓦。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,798評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽睬澡。三九已至固额,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間猴贰,已是汗流浹背对雪。 一陣腳步聲響...
    開封第一講書人閱讀 32,027評論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留米绕,地道東北人瑟捣。 一個月前我還...
    沈念sama閱讀 46,488評論 2 361
  • 正文 我出身青樓馋艺,卻偏偏與公主長得像,于是被迫代替她去往敵國和親迈套。 傳聞我的和親對象是個殘疾皇子捐祠,可洞房花燭夜當晚...
    茶點故事閱讀 43,612評論 2 350

推薦閱讀更多精彩內容

  • 前言 props與state都是用于組件存儲數(shù)據(jù)的一js對象,前者是對外暴露數(shù)據(jù)接口,后者是對內組件的狀態(tài),它們決...
    itclanCoder閱讀 2,144評論 0 0
  • 前言 最近和前端的小伙伴們,在討論面試題的時候桑李。談到了函數(shù)防抖和函數(shù)節(jié)流的應用場景和原理踱蛀。于是,想深入研究一下兩者...
    youthcity閱讀 23,520評論 5 78
  • 一.什么是函數(shù)防抖&節(jié)流 函數(shù)防抖函數(shù)防抖(debounce):在事件被觸發(fā)n秒后再執(zhí)行回調贵白,如果在這n秒內又被觸...
    王蕾_fd49閱讀 429評論 0 1
  • 前言 瀏覽器中某些計算和處理要比其他的昂貴很多率拒。例如DOM操作比DOM交互需要更多的時間和cpu時間,為了提升性能...
    蛙哇閱讀 1,231評論 0 0
  • 函數(shù)節(jié)流 還記得上篇文章中說到的圖片懶加載嗎禁荒?我們在文章的最后實現(xiàn)了一個頁面滾動時按需加載圖片的方式猬膨,即在觸發(fā)滾動...
    柏丘君閱讀 2,840評論 1 19