V-validate 不适用于插值属性

V-validate not working with interpolated attribute

当我使用静态属性时,出现预期的验证错误:

<input type="number" name="phone" v-validate="'required|digits:10'">
<span>{{ errors.first(propertyName) }}</span>

但是如果我不想在 JavaScript 中硬编码验证规则怎么办?我认为这会起作用:

<input type="number" name="phone" :v-validate="phone.rules">
<span>{{ errors.first(propertyName) }}</span>

但是没有出现验证错误。知道我做错了什么吗?

我已经创建了 jsFiddle,一切似乎都运行良好。随时检查: https://jsfiddle.net/m67d8f4x/2032/

<input type="email" name="email" placeholder="Email" v-validate="rules.rule" v-model="email">
// js
  data() {
    return {
      rules: { rule: 'required' },
      email: ''
    }
  },

我只需要从 v-validate 属性 中删除冒号,然后对象就可以工作了。 IE。使用 v-validate 而不是 :v-validate。我很困惑,因为将 JavaScript 与其他 Vue 属性一起使用需要冒号。