29 lines
481 B
JavaScript
29 lines
481 B
JavaScript
const map = {
|
|
throttle: {
|
|
bind: function (el, obj) {
|
|
let timerId = null
|
|
let flag = true
|
|
|
|
el.addEventListener('input', function () {
|
|
if (!flag) return
|
|
|
|
flag = false
|
|
timerId && clearTimeout(timerId)
|
|
timerId = setTimeout(function () {
|
|
flag = true
|
|
obj.value()
|
|
}, 800)
|
|
})
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
export default {
|
|
install(Vue) {
|
|
for (const key in map) {
|
|
Vue.directive(key, map[key])
|
|
}
|
|
}
|
|
}
|