vue防抖註冊全域性 vue全域性防抖和節流

2021-10-13 03:47:26 字數 999 閱讀 1742

函式防抖

防抖分為兩種:

一種是立即執行:頻繁觸發事件,第一次觸發時執行函式,後面觸發不會執行,停止觸發,間隔一定時間之後再觸發事件,函式才會再次執行

另一種是後執行:頻繁觸發事件,事件只會在觸發事件之後間隔定義的時間,函式才會被執行,而且只會執行最後一次觸發的事件。

在vue中對click新增防抖處理

// 防抖處理-立即執行

const on = vue.prototype.$on

vue.prototype.$on = function (event, func) , 500)

on.call(this, event, newfunc)

// 防抖處理 -- 最後執行

const on = vue.prototype.$on

vue.prototype.$on = function (event, func) , 500)

on.call(this, event, newfunc)

函式節流

定義:事件觸發後,會先執行一次事件函式,執行之後如果在規定時間間隔內再觸發事件,將不出觸發函式,超過規定的事件間隔後會再次觸發一次,如此往復

在vue中對click新增節流處理

// 節流

const on = vue.prototype.$on

vue.prototype.$on = function (event, func) {

let previous = 0

let newfunc = func

if (event === 'click') {

newfunc = function () {

const now = new date().gettime()

if (previous + 1000 <= now) {

previous = now

on.call(this, event, newfunc)

使用方式:

選擇一種,將**複製貼上在main.js即可。

vue防抖註冊全域性 vue全域性防抖和節流

防抖處理 立即執行 const on vue.prototype.on vue.prototype.on function event,func 500 on.call this,event,newfunc 防抖處理 最後執行 const on vue.prototype.on vue.protot...

vue防抖註冊全域性 vue全域性防抖和節流

函式防抖 防抖分為兩種 一種是立即執行 頻繁觸發事件,第一次觸發時執行函式,後面觸發不會執行,停止觸發,間隔一定時間之後再觸發事件,函式才會再次執行 另一種是後執行 頻繁觸發事件,事件只會在觸發事件之後間隔定義的時間,函式才會被執行,而且只會執行最後一次觸發的事件。在vue中對click新增防抖處理...

vue防抖註冊全域性 Vue最新防抖方案 必看篇

函式防抖 debounce 當持續觸發事件時,一定時間段內沒有再觸發事件,事件處理函式才會執行一次,如果設定的時間到來之前,又一次觸發了事件,就重新開始延時。舉個栗子,持續觸發scroll事件時,並不執行handle函式,當1000毫秒內沒有觸發scroll事件時,才會延時觸發scroll事件。函式...