5

当我添加:

Vue.use(VeeValidate);

我的 Vue 页面显示为空白并显示控制台错误:

TypeError: plugin is undefined

我发现以下具有相同错误:

Vue 插件 vee-validate 未正确安装

但我没有在 .vue 文档的任何地方使用 => 语法。

vee 验证 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,我怀疑这是否是问题。

4

1 回答 1

6

我想通了。vee-validate 的默认导出似乎为空。在我将导入更改为:

import * as VeeValidate from 'vee-validate';
于 2019-08-30T12:00:02.477 回答