Vue更新挂钩每次都不会触发

时间:2017-11-07 13:49:25

标签: javascript vue.js

每次触发键盘事件时,我的Vue实例中的updated()挂钩都不会触发(在更新Vuex后通过$ forceUpdate())。有没有办法确保钩子每次都被触发?该过程是通过键盘事件触发的,但是如果我快速键入3或4个键,则updated()挂钩只会被触发两次!

....
methods: {
  keyDown() {
    this.$store.dispatch('updateVuexState', payload)
    this.$forceUpdate() // UPDATES STATE TO THE VIEW //

    // ... SHOULD THEN TRIGGER UPDATED HOOK EVERY TIME IDEALLY, BUT DOESN'T ?? //
    // BASED ON THE TIME SPAN, SOMETIMES HOOK IS SKIPPED ONCE OR TWICE BASED ON //
    // KEYBOARD INPUT SPEED //
  }
},
....
updated() {
  console.log('updated...') // FIRED ONLY WITH A LONGER TIME SPAN //
},
....

1 个答案:

答案 0 :(得分:0)

使用v-model或不使用v-model,使用oninput事件代替onkeydown事件。并且您的应用程序无需强制更新即可运行。