debounce.js 329 Bytes
import Vue from 'vue'
//防抖
Vue.directive('debounce', {
    inserted: function (el, binding) {
        let [fn, event = 'click', time = 300] = binding.value
        let timer
        el.addEventListener(event, () => {
            timer&& clearTimeout(timer)
            timer =setTimeout(() => fn(), time)
        })
    }
})