我正在尝试为Vue js中的prop创建一个自定义类型type
,我已经创建了一个types文件夹并将其添加到了tsconfig.typeRoots
中,IntelliSense和所有其他内容都可以正确工作,在编译时没有问题,但是当我访问该组件时,我会收到一个错误,即Car未定义
,但我已经定义了它,并且它在其他地方可以工作,但是在检查官方文档后,我了解到prop需要一个构造函数
,因此我重新定义了类型为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
文件。 - Yash Maheshwaritsconfig.json
中添加了一个条目,无需导入即可正常进行类型检查。 - krypton