最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

如何在Vue中使用debouce防抖函數(shù)

 更新時間:2021年12月14日 10:28:42   作者:太_2_真_人  
本文主要介紹在Vue中使用debouce防抖函數(shù),設(shè)置一個門檻值,表示兩次?Ajax?通信的最小間隔時間。如果在間隔時間內(nèi),發(fā)生新的keydown事件,則不觸發(fā)?Ajax?通信,并且重新開始計時。如果過了指定時間,沒有發(fā)生新的keydown事件再將數(shù)據(jù)發(fā)送出去,這便是debouce防抖函數(shù)

1.防抖函數(shù)

假定兩次 Ajax 通信的間隔不得小于2500毫秒,上面的代碼可以改寫成下面這樣。

$('textarea').on('keydown', debounce(ajaxAction, 2500));

function debounce(fn, delay){
  var timer = null; // 聲明計時器
  return function() {
    var context = this;
    var args = arguments;
    clearTimeout(timer);
    timer = setTimeout(function () {
      fn.apply(context, args);
    }, delay);
  };
}

上面代碼中,只要在2500毫秒之內(nèi),用戶再次擊鍵,就會取消上一次的定時器,然后再新建一個定時器。這樣就保證了回調(diào)函數(shù)之間的調(diào)用間隔,至少是2500毫秒。

2.Vue中使用debouce防抖函數(shù)

創(chuàng)建一個 debounced(防抖動)函數(shù),該函數(shù)會從上一次被調(diào)用后,延遲 wait 毫秒后調(diào)用 func 方法。 debounced(防抖動)函數(shù)提供一個 cancel 方法取消延遲的函數(shù)調(diào)用以及 flush 方法立即調(diào)用。 可以提供一個 options(選項) 對象決定如何調(diào)用 func 方法,options.leading 與|或 options.trailing 決定延遲前后如何觸發(fā)

(注:是 先調(diào)用后等待 還是 先等待后調(diào)用)。

?func 調(diào)用時會傳入最后一次提供給 debounced(防抖動)函數(shù) 的參數(shù)。 后續(xù)調(diào)用的 debounced(防抖動)函數(shù)返回是最后一次 func 調(diào)用的結(jié)果。

Lodash debouce參數(shù):

  • func? (Function) : 要防抖動的函數(shù)。
  • [wait=0]? (number) : 需要延遲的毫秒數(shù)。
  • [options=]? (Object) : 選項對象。
  • [options.leading=false]? (boolean) : 指定在延遲開始前調(diào)用。
  • [options.maxWait]? (number) : 設(shè)置 func 允許被延遲的最大值。
  • [options.trailing=true]? (boolean) : 指定在延遲結(jié)束后調(diào)用。
<template>
<el-input
    v-model="value"
    size="mini"
    placeholder="請輸入.."
    clearable
    @keydown.enter="handleSearch"
  ></el-input>
</template>
<script>
import _ from 'lodash'
export default {
data() {
    return { value: '' }
},
create() {
    this.handleSearch = _.debounce(() => {
      // 獲取列表
      this.getList();
    }, 300);
},
beforeDestroy() {
    // 取消該函數(shù)的防抖動調(diào)用
    this.handleSearch.cancel();
},
}
</script>

到此這篇關(guān)于如何在Vue中使用debouce防抖函數(shù)的文章就介紹到這了,更多相關(guān)Vue中使用debouce防抖函數(shù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論

屏东市| 衡水市| 镇康县| 曲靖市| 清镇市| 万安县| 那曲县| 宁城县| 长沙县| 邵武市| 宜章县| 开鲁县| 龙泉市| 连云港市| 射洪县| 缙云县| 新晃| 石家庄市| 娄底市| 安龙县| 柏乡县| 家居| 哈密市| 江西省| 田东县| 通化县| 牙克石市| 井冈山市| 汕头市| 满城县| 遂平县| 伊通| 开原市| 高雄市| 嘉义市| 华蓥市| 汝阳县| 镇沅| 玉山县| 潼关县| 河南省|