如何使用反跳方法访问事件对象-Vue

时间:2018-12-12 04:48:03

标签: javascript vue.js lodash

无法通过反跳方法获得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">

1 个答案:

答案 0 :(得分:1)

这是vue js示例,缺少@keyup="fetchData($event)"将事件传递到去抖中

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>