javascript - 如何在具有去抖动的方法中访问事件对象 - Vue
问题描述
无法event
在去抖动方法中获取对象:
methods: {
fetchData: _.debounce(function(e) {
console.log(e) // return undefined
}, 500)
}
是否可以在方法中访问事件对象?我的目的是检查按下的键码是什么:
if (e.keyCode >= 65 && e.keyCode <= 80) {
// do some stuff
}
我这样调用方法fetchData
:
<input @keyup="fetchData()" v-model="name" type="text">
解决方案
这是 vue js 示例,缺少@keyup="fetchData($event)"
将事件传递到 debounce
new Vue({
el: '#app',
data() {
return {
keywords: ''
}
},
methods: {
fetchData: _.debounce(function(e) {
console.log(e.keyCode) // return undefined
}, 500)
}
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.11/lodash.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.13/vue.min.js"></script>
<div id="app">
<input id="textInput" @keyup="fetchData($event)" />
</div>