好的就是这种情况,我正在使用Vue.js
开设SPA。我正在我的某个组件中使用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
},
//...
}
问题是VeeValidate
和Vuetable
内部都依赖于具有相同名称的计算属性。当我在VeeValidate
全球注册Vue.use(VeeValidate);
时,如果我从Component1
导航到Component2
,则Vuetable
会出错,
计算属性"字段"已被定义为道具
因为当我VeeValidate
登陆Component1
时,Component2
已在全球注册。
如果我从与VeeValidate
没有任何依赖关系的任何其他组件导航到VeeValidate
,那么它的工作正常。
所以这是我的问题,
如何在本地Component1.vue
内注册components: {}
或任何其他包,以免影响其他组件?,就像在Given I remember {word} as {key}
内注册其他组件一样宾语。
答案 0 :(得分:1)
Vee validate允许您通过配置更改字段和错误包名称。它位于docs here。
const config = {
errorBagName: 'errors', // change if property conflicts
fieldsBagName: 'fields',
}
也许如果感兴趣,advanced configuration部分解释了如何将实例注入组件而不是全局。