Angular 为给定对象定义接口时出错

Angular 为给定对象定义接口时出错,angular,typescript,Angular,Typescript,我想在Angular应用程序中创建界面,我有以下对象结构 productGroups: IProduct[] = [ { num:1, productlist:[ { letter:"A", products:[ 'Aprod1', 'Aprod2' ] }, { letter:"B"

我想在Angular应用程序中创建界面,我有以下对象结构

 productGroups: IProduct[] = 
 [
    {
      num:1,
      productlist:[
        {
          letter:"A",
          products:[
            'Aprod1',
            'Aprod2'
          ]
        },
        {
          letter:"B",
          products:[
            'Bprod3',
            'Bprod4'
          ]
        }
      ]        
    },

    {
      num:2,
      productlist:[
        {
          letter:"A",
          products:[
            'prod1',
            'prod2'
          ]
        }
      ]        
    } 
  ]
我试过的是

export interface IProduct {
 num : number;
 letter : string;
 products : string[];
 productlist : any[];//comprise array of letter and products
}
我是否正确定义了接口???我犯了一个错误 { “所有者”:“类型脚本”, “代码”:“2739”, “严重性”:8, “消息”:“类型“{num:string;产品列表:{letter:string;产品:string[];}[];}”为 “产品”类型缺少以下属性:字母、产品“,
}

您的界面比您的对象具有更平坦的结构(“字母”属性嵌套在示例对象中的
产品中,但在界面定义的顶层)。更像是这样:

interface IProductListEntry {
    letter: string;
    products: string[]; 
}

interface IProduct {
    num : number;
    productlist : IProductListEntry[];
}

您的接口的结构比您的对象更平坦(“字母”属性嵌套在示例对象的
产品中
,但在接口定义的顶层)。更像是这样:

interface IProductListEntry {
    letter: string;
    products: string[]; 
}

interface IProduct {
    num : number;
    productlist : IProductListEntry[];
}

您的ProductList界面错误,因为您的ProductList不是一个
字符串[]
,以下应该可以使用

export interface IProduct {
 num : number;
 productlist : IProductList[];
}

export interface IProductList {
 letter : string;
 products : string[];
}

您的ProductList界面错误,因为您的ProductList不是一个
字符串[]
,以下应该可以使用

export interface IProduct {
 num : number;
 productlist : IProductList[];
}

export interface IProductList {
 letter : string;
 products : string[];
}

您的界面
产品
在哪里您下面的界面命名为
IPProduct
?两个答案都是正确的抱歉,Arvind I更新的问题,界面是IPProduct下面的答案对您有帮助吗?您的界面
产品
在哪里您的界面名为
IPProduct
?两个答案都是正确的对不起,Arvind我更新了问题,界面是IPProduct下面的答案对您有帮助吗?