在寻找使用TypeScript声明类时,将对象数组声明为属性的最合适方法。这用于与“角度模板驱动”表单的复选框数量未知的表单。
是否宜像下面那样为对象设置一个单独的类,还是有更好的方法?尝试以多种方式寻求建议,但找不到很多。我在这里超标吗?
export class Companion {
id: string;
name: string;
chosen: boolean;
}
export class ExampleForm {
name: string;
email: string;
companions: Companion[];
}
答案 0 :(得分:2)
我认为TypeScript(不仅仅是Angular)中的大多数人都不会为这些模型使用类。我们为它们使用接口。因此您的ExampleForm
看起来像这样。
export class ExampleForm{
// This was what you already had
companions: Companion[];
}
,然后使用界面定义Companion
。
export interface Companion{
id: string;
name: string;
chosen: boolean;
}
这样做可以使您仅将普通JavaScript对象用于Companion
。但是您将在每个对象上获得类型安全。太棒了