带有嵌套数组的角接口

时间:2019-03-03 10:26:42

标签: angular typescript

我是angular的新手,我来自Java,所以我习惯于将类设置为数据的数据结构。经过一些研究,我知道我应该使用接口,但是在弄清楚如何使用嵌套数组设置接口时遇到了问题。每个数组都是用于创建表的字段/标头对。该对象将是它们的数组。但是我有两个表将具有一个两行标题,并且我试图找出如何构造接口。

interface TableHeaderDetails {
    field: string;
    header: string;
    date?: <what goes here>;
}

forecastCol: TableHeaderDetails[];

this.forecastCol = [
    { field: 'cumulativeExpected', header: 'Cumulative Expected ' },
    { field: 'cumulativeReceived', header: 'Cumulative Received' },
    { date : [
        { field: 'forecastYearMonth', header: 'Year - Month' },
            { details: [
                { field: 'expected', header: 'Expected' },
                { field: 'received', header: 'Received' }
            ]}
    ]}
];

1 个答案:

答案 0 :(得分:0)

您可以使用json2ts帮助站点将JSON对象转换为如下所示的接口,

declare module namespace {

    export interface Detail {
        field: string;
        header: string;
    }

    export interface Date {
        field: string;
        header: string;
        details: Detail[];
    }

    export interface RootObject {
        field: string;
        header: string;
        date: Date[];
    }

}