@Watch和$ Refs带有打字稿和vue-property-decorators

时间:2020-05-12 15:39:42

标签: typescript vue.js vuetify.js watch

我对手表和裁判有疑问。我有一个带有v模型的vswitch。 v模型的setter操作需要很长的时间(写入存储并触发DOM上的许多更新)。

不幸的是,Vue在呈现开关的新值之前执行了该动作。 我想立即显示输入值。我的解决方法是“监视”开关inputValue并在inputValue更改时执行setter操作。 我该如何使用打字稿和vue-property-decorators做到这一点? 我在交换机上放置了一个ref并尝试了类似的方法:

  @Watch("$refs.switch.inputValue", {
    immediate: true,
    deep: true,
  })
  change() {
    alert('value changed');
  }

使用@watch装饰器是否有可能?

感谢您和最诚挚的问候

1 个答案:

答案 0 :(得分:0)

由于$refs aren't reactive的属性,您不能使用@Watch来观看$ refs。您最好使用事件。您可能正在使用Vuetify's v-switch。您可以使用其更改事件并收听:

<v-switch @change="valueChanged()"/>

...

valueChanged() {
  // handle change event
}