【发布时间】:2023-02-10 20:59:22
【问题描述】:
我必须输入:学校和校园。但是一个学校可以有多个校区,一个校区只能有一个学校。
在我的代码中,我需要操纵其中嵌入了 School 数据的 Campus,或者操纵其中包含 Campuses 数据的嵌入式数组的 School。这就是我实现类型和接口的方式。
type Campus = {
zip_code: number;
address: string;
name: string;
[key: string]: string | number;
};
type School = {
name: string;
interests: number;
contactEmail: string;
[key: string]: string | number;
};
interface CampusSchool extends Campus {
school: School;
}
interface SchoolCampuses extends School {
campuses: Campus[] | [];
}
这给了我错误““学校”类型的“学校”属性不能分配给索引类型“字符串”,“字符串 |数.ts(2411)”。
我尝试了另一种方法来创建 y 接口,基于这个答案:TS 2411 - getting errors property 'propertyName' of type 'string' is not assignable to string index type:
interface CampusSchool extends Campus {
school: { [schoolData: string]: {
data: School;
}
}
}
但是,这不起作用,我仍然有错误。另外,我觉得这不是正确的方法,所以我请求你的帮助和建议。预先感谢您的帮助。
【问题讨论】:
标签: typescript