TypeScript类-将对象数组声明为属性

时间:2019-07-24 23:26:14

标签: javascript angular typescript oop

在寻找使用TypeScript声明类时,将对象数组声明为属性的最合适方法。这用于与“角度模板驱动”表单的复选框数量未知的表单。

是否宜像下面那样为对象设置一个单独的类,还是有更好的方法?尝试以多种方式寻求建议,但找不到很多。我在这里超标吗?

export class Companion {
    id: string;
    name: string;
    chosen: boolean;
}

export class ExampleForm {
    name: string;
    email: string;
    companions: Companion[];
}

1 个答案:

答案 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。但是您将在每个对象上获得类型安全。太棒了