如何解决 Vetur/Vuelidate 错误“'validate' 在类型‘ComponentOptions<Vue [etc.] 中不存在”?

How can I resolve Vetur/Vuelidate error "'validate' does not exist in type 'ComponentOptions<Vue [etc.]"?

问题: 在使用同时安装了 Typescript 的 Vetur 时如何解决错误 'validations' does not exist in type 'ComponentOptions<Vue [etc.],全部在 VSCode?

背景: 我试图将 Vuelidate 引入到单文件 Vue 组件中(根据 the docs 添加 validations 属性 ).包含该组件的项目安装了 TypeScript,以便改进 Vetur 的智能感知(但 <script> 部分正在使用 JavaScript)。在引入 validations 属性后,Vetur 显示错误并显示上述问题中突出显示的消息,并且 intellisense 正在中断调用其他方法的方法(例如 mount())。

代码: 我的代码基本上类似于下面的示例,但需要安装 TypeScript 才能重现 Vetur 错误:

export default {
  data() {
    return {
      name: '',
    }
  },
  validations: {
    name: {
      required,
      minLength: minLength(4)
    },
  }
}

我尝试了什么: 我尝试将 @ts-ignore 添加到 validations 属性,但智能感知仍然无法调用其他方法方法。

解决方法是:

  • 运行 npm install --save-dev @types/vuelidate
  • 重启VSCode