3

我已经vee-validate验证了一个输入字段。每次在输入字段中发生无效错误时,我都希望发出一个事件。

因此,我认为最好只创建一个computed代表$validator.errors.

问题是$emit事件watch永远不会被触发。

我的代码是这样的:

<template>

  <input 
    type="number" 
    name="quantity" 
    v-validate="{
      max_value: 50
    }" />

</template>

<script> 

export default {
  data () {
    return {}
  },

  computed: {
    formErrors () {
      const errors = this.$validator.errors;

      return errors;
    },
  },


  watch: {
    formErrors (value) {
      return this.$emit('form-errors', value)
    }
  }

}
</script>
4

1 回答 1

8

好的,经过一点点更多的研究,这是一个简单的修复。

formErrors : {
  handler (value) {
    return this.$emit('form-errors', value)  
  },

  deep:true 
}

您需要深入观察处理程序。

于 2018-08-21T08:50:28.967 回答