【发布时间】:2018-09-18 13:21:21
【问题描述】:
好的,情况就是这样,我正在使用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 在内部都依赖于同名的计算属性。当我像Vue.use(VeeValidate); 一样在全球范围内注册VeeValidate 时,如果我从Component1 导航到Component2,Vuetable 会出现错误提示,
计算属性“fields”已经被定义为prop
因为当我登陆 Component1 时,VeeValidate 已经在全球注册了自己。
如果我从与VeeValidate 没有任何依赖关系的任何其他组件导航到Component2,那么它就可以正常工作。
这是我的问题,
如何在本地注册VeeValidate 或Component1.vue 内的任何其他包,以免影响其他组件?就像在components: {} 对象内注册其他组件一样。
【问题讨论】:
标签: javascript vue.js vue-router vue-tables-2 vee-validate