【发布时间】:2021-08-24 04:27:23
【问题描述】:
我正在尝试在 Vue js 中为我的道具创建一个自定义 type,我创建了一个类型文件夹并将其添加到 IntelliSense 的 tsconfig.typeRoots 中,所有其他东西都正常工作,编译时没有问题时间但是当我访问该组件时,我收到一个错误 Car is not defined 但我已经定义了它并且它在其他地方工作但是在检查官方文档后我知道该道具需要一个 constructor 所以我将类型重新定义为declare class Car 并添加了一个构造函数原型,但同样的问题。
以下是文件: 汽车部件
<script lang="ts">
import Vue from "vue";
export default Vue.extend({
name: "the-car",
props: {
car: {
required: true,
type: Car,
},
},
});
</script>
types/common/index.d.ts 声明文件
declare class Car {
name: String;
image: String;
kms: Number;
gears: String;
desc: String;
fuel: String;
engine: String;
price: Number;
constructor(name: String, image: String, kms: Number, gears: String, desc: String, fuel: String, engine: String, price: Number);
}
【问题讨论】:
-
您好,我认为您需要在组件中导入
index.d.ts文件。 -
@YashMaheshwari 我已经在
tsconfig.json中添加了一个条目,并且类型检查在不导入的情况下运行良好
标签: typescript vue.js nuxt.js typescript-typings vue-props