【发布时间】:2021-01-04 14:06:39
【问题描述】:
我有一个 Vue 项目,我在其中创建了一个新的普通 TypeScript 文件Validation.ts:
import Vue from 'vue';
import BaseInput from '@/components/base/BaseInput.vue';
class ValidationService extends Vue {
validateFields(fields: BaseInput[]): boolean {
return this.$store.state.skipValidation || fields.map(field => field.validate()).every(Boolean);
}
}
export default new ValidationService();
我的班级BaseInput 有公共方法validate()(我可以从其他Vue 组件中成功调用它)。
但是 TypeScript 现在抱怨,因为它找不到 BaseInput 类。当我尝试遵循导入时,我最终会出现在 shims-vue.d.ts 文件中。
如何从.vue 文件外部正确导入 Vue 组件?
或者有没有更好的解决方案来为 Vue 提供一些全局 TypeScript 方法,然后在一个普通的 .ts 文件中定义它们?
【问题讨论】:
标签: javascript typescript vue.js vuejs2