Vue2 x 使用防抖以及節流示例

2022-05-23 15:24:08 字數 968 閱讀 3310

utils:

//

防抖export const debounce = (func, wait = 3000, immediate = true) =>, wait);

//定時器id

if }

else

, wait);}};

};//

時間戳方案

export const throttletime = (fn, wait = 2000) =>

};};//

定時器方案

export const throttlesettimeout = (fn, wait = 3000) =>, wait);}};

};

vue中使用:

防抖立即執行

點選防抖不立即執行

點選節流時間戳方案

點選節流定時器方案

點選

解釋:防抖:

立即執行版本:immediate為true,則點選第一次就執行,再繼續點選則不執行,當wait時間結束後,再點選則生效,也就是只執行第一次。

原理:點選第一次不存在timeoutid,並且callnow為true,則立即執行目標**,點選第二次時存在了timeoutid,並且callnow為false,所以不執行目標**,當wait時間結束後,把timeoutid設為null,則開始

重複立即執行邏輯。

不立即執行版:immediate為false,則點選第一次不執行,當wait時間結束後,才生效,也就是無論點選多少次,只執行最後一次點選事件

原理:使用settimeout延遲執行事件,如果多次觸發,則cleartimeout上次執行的**,重新開始計時,在計時期間沒有觸發事件,則執行目標**。

節流:連續觸發事件時以wait頻率執行目標**。

效果:

vue 中使用防抖和節流

防抖和節流是我們在開發過程中常用優化效能的方式 那麼在 vue 中怎麼使用呢 在公共方法中 如public.js中 加入函式防抖和節流方法 防抖 export function debounce fn,delay timer settimeout function delay 節流 export f...

vue 中使用防抖和節流

防抖和節流是我們在開發過程中常用優化效能的方式 那麼在 vue 中怎麼使用呢 在公共方法中 如 public.js 中 加入函式防抖和節流方法 防抖 export function debounce fn,delay timer settimeout function delay 節流 export...

函式節流和防抖 以及使用場景

二 防抖 定時器版 推薦 小結節流和防抖是前端工作中使用頻率很高的技巧,合理使用可以提高前端效能,減輕伺服器壓力。我們通過輸入框來觀察時間觸發頻率以及觸發時獲取到的值。lang en charset utf 8 name viewport content width device width,ini...