在Store.js中使用插件(VeeValidate)

时间:2017-09-19 23:49:05

标签: javascript vue.js vuex

我正在使用Vuex并添加了vee-validate(found here)。我正在使用商店对象,并且根据其中一个操作,我希望能够根据服务器响应向错误集合添加自定义错误。是否可以访问通常用作属性的vee-validate的全局errors(ErrorBag)集合?

根据this,我应该能够添加到errors对象,但是当我明显在我的商店对象中时this不一样。

例如:

<span id="error-message" v-if="errors.has('phone')">error message</span>

我希望有办法访问errors集合。有没有办法导入VeeValidate以获取我需要的内容?它是以某种方式全球可用的吗?

1 个答案:

答案 0 :(得分:0)

我建议将操作中引发的错误添加到存储中,并从计算属性中访问组件。

遵循单向数据流原则,并且由于计算机被反应,因此应该为视图提供异步更新的机会。

也许:

<span id="error-message" v-if="allErrors.has('phone')">error message</span>

computed: {
  allErrors() {
    return this.$validator.errors
      .concat( this.$store.state.asyncErrors )
}

细节需要充实。