1

好的,情况就是这样,我正在与Vue.js. 我VeeValidate在我的一个组件中使用Component1.vue这样说,

import Vue from 'vue';
import VeeValidate from 'vee-validate';

Vue.use(VeeValidate);

export default {
    //...
}

在另一个组件中说Component2.vue我正在使用vuetable-2我这样注册的,

import Vuetable from 'vuetable-2/src/components/Vuetable';

export default {
    components: {
        Vuetable
    },

   //...
}

问题是两者VeeValidateVuetable内部都依赖于具有相同名称的计算属性。当我在VeeValidate全球注册时,如果我从toVue.use(VeeValidate);导航,则会出现错误消息,Component1Component2Vuetable

计算属性“字段”已经定义为道具

因为VeeValidate当我登陆时已经在全球注册了Component1

Component2如果我从没有任何依赖关系的任何其他组件导航到,VeeValidate那么它就可以正常工作。

所以这是我的问题,

如何VeeValidate在本地注册或任何其他包Component1.vue,以免影响其他组件?很像在components: {}对象中注册其他组件。

4

1 回答 1

1

Vee validate 允许您通过配置更改字段和错误包名称。它在此处的文档中。

const config = { 
     errorBagName: 'errors', // change if property conflicts 
     fieldsBagName: 'fields',
}

如果感兴趣的话,高级配置部分也解释了如何将实例注入组件而不是全局。

于 2018-04-09T08:15:36.853 回答