這裡debounce是引用的lodash庫;
import from 'lodash';
下面就可以使用debounce了。
場景:input框每次值改變的時候,其下面會出現乙個下拉列表(這是通過呼叫後端介面獲得的資料),但是不想每次input值改變的時候都要重複呼叫一下介面,不然介面呼叫的太頻繁,又可能導致網路卡死,可以在inputinput框每次值改變的時候,設定乙個時間300ms,如果在這期間input的value值變化,不會重複呼叫介面,超過300ms才會呼叫介面。大致思路如下:
var self = this;
function inputchange = function(e)
self.debouncesearch = debounce(self.search, 300);
function search()
其中debounce還有第三個引數true或false,true表示會在delay時間間隔的開始時立即呼叫這個函式,false表示不會在delay時間間隔的開始時立即呼叫這個函式,預設為true。 debounce防抖函式的使用
說明 1.首頁有30多張,每次載入完都要執行乙個refresh的函式,由於執行次數過多,對refresh函式進行防抖 2.位於元件goodsitem.vue中,需要傳送事件給home.vue 步驟 1.建立乙個utils.js檔案封裝debounce函式 func為要執行的函式 要防抖的 delay...
手寫防抖debounce
防抖 debounce 一段時間不觸發事件才執行一次handle函式 const input1 document.getelementbyid input1 let timer null input1.addeventlistener keyup function timer settimeout ...
JS中的函式防抖 debounce
概念 函式防抖 debounce 就是指觸發事件後,在 n 秒內函式只能執行一次,如果觸發事件後在 n 秒內又觸發了事件,則會重新計算函式延執行時間。舉個栗子,坐電梯的時候,如果電梯檢測到有人進來 觸發事件 就會多等待 10 秒,此時如果又有人進來 10秒之內重複觸發事件 那麼電梯就會再多等待 10...