vue3 自定義指令(簡易版防抖 節流)

2022-09-09 17:24:30 字數 1135 閱讀 4553

/** @descripttion: 自定義指令

* @version:

*//*

* @descripttion: 防抖,單位時間內觸發最後一次

* @param [function] func --執行事件

* @param [?number|300] wait = 300 -- 時間間隔

* @param [?string|"click"] event -- 事件型別

* @param [?boolean|true] boolean -- 事件冒泡-false , 事件捕獲--true

* @param [array] binding.value - [func,type,wait,true]  

* 防抖測試

*/beforemount(el: any, binding: any)

el.addeventlistener(el.$type, el.$handle, immediate);

},unmounted(el: any)

})/*

* @descripttion: 節流,單位時間內可觸發一次

* @param [function] func --執行事件

* @param [?number|300] wait = 300 -- 時間間隔

* @param [?string|"click"] event -- 事件型別

* @param [?boolean|true] boolean -- 事件冒泡-false , 事件捕獲--true

* @param [array] binding.value - [func,type,wait,true]  

* 防抖測試

*/beforemount(el: any, binding: any)

func()

timer = settimeout(() => null, wait);

}el.addeventlistener(el.$type, el.$handle, immediate);

},unmounted(el: any) })}

// 使用 在main.ts 中匯入

import from './directives/index'

//頁面使用 列:防抖測試

按鈕防抖和Vue中自定義指令防抖

防止按鈕抖動,思路 獲取到本次和上次點選的時間戳,相減小於1000毫秒則return,阻止繼續操作 if new date gettime this.newtimestamp 1000 塊 this.newtimestamp new date gettime vue中自定義指令防抖,建立乙個js檔案...

Vue自定義指令中實現防抖和節流

首先兩者的區別 防抖的實現 這裡使用vue自定義指令的形式實現,核心 是事件繫結那段 description vue自定義指令 param argment 0 param argment 1 在繫結元件中的各個生命週期中書寫業務,這裡使用inserted vue.directive shake 繫結...

js簡易版自定義事件及其應用

老話題,關於js的自定義事件,用處很多 控制項控都懂的.最明顯的是實現觀察者模式.簡易版 view code 1 function class1 3 class1.prototype 10 11 12 新增事件處理函式 13 attchonevt function eventhandler 18 刪...