所以我有一个模型:
export interface Clan {
name: string;
members: [string];
invitees: [string];
}
当用户创建一个新氏族时,它还没有受邀者,只有一个成员。
newClan = {
name: form.value.name;
members: [user.id];
invitees: [];
}
这会导致错误
类型[[]]中缺少属性'0',但类型'[string]'中必需。
当然我可以使用 null 或 undefined 的值,也可以只将模型中的被邀请者定义为不是必需的< / strong>:
export interface Clan {
name: string;
members: [string];
invitees?: [string];
}
但是有没有一种方法可以在创建新氏族时使用被邀请者空数组?
答案 0 :(得分:5)
我猜想,使用string[]
代替[string]
可能是合理的,因为[string]
是一个数组,其中只有一个字符串。
export interface Clan {
name: string;
members: string[];
invitees: string[];
}
const newClan: Clan = {
name: form.value.name;
members: [user.id];
invitees: [];
}
编辑: @R。理查兹的评论提供了很好的解释。阅读here,了解有关TypeScript中的教pel的更多信息:
元组类型使您可以使用固定数量的数组表示数组 类型已知但不必相同的元素。