【发布时间】:2020-01-03 14:53:39
【问题描述】:
当我添加时:
Vue.use(VeeValidate);
我的 Vue 页面显示为空白并出现控制台错误:
TypeError: plugin is undefined
我发现以下错误:
Vue plugin vee-validate not installing properly
但我没有在 .vue 文档的任何地方使用 => 语法。
vee-validate 3.0.3,Vue 2.6.10
完整的 main.js 文件:
import Vue from 'vue'
import VeeValidate from 'vee-validate';
import App from './App.vue'
Vue.config.productionTip = false
Vue.use(VeeValidate);
new Vue({
render: h => h(App),
}).$mount('#app')
在我的 App.vue 文件中,我确实包含了 ValidationProvider 作为组件:
<script>
import CriteriaDataModel from './data-model/criteria-data-model.js';
import UserDataModel from './data-model/user-data-model.js';
import { ValidationProvider } from 'vee-validate';
export default {
name: 'app',
data: function() {
return {
criteriaModel: CriteriaDataModel,
completeMessage: null,
form: {
user: UserDataModel
}
};
},
components: {
ValidationProvider
}
};
</script>
我还尝试在没有帮助的情况下将我的 Vue 初始化更改为:
new Vue({
render: function (h) { return h(App) },
}).$mount('#app')
我观察到 VeeValidate 在 node_module 中有很多使用 '=>' 语法(在另一个堆栈溢出中作为问题引用),但由于打算将它用于 Vue,我质疑这是否是问题。
【问题讨论】:
-
ValidationProvider是一个组件,您应该使用Vue.component注册它。Vue.component('ValidationProvider', ValidationProvider) -
那不就相当于在.vue文件中默认导出的components部分列出来了吗?
-
github 这是源代码。很明显
ValidationProvider是一个由Vue.extend返回的构造函数,你可以用new创建一个实例或者用Vue.component注册一个全局组件
标签: vue.js vuejs2 vee-validate