Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/28.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 接口类型脚本中的接口_Angular_Typescript - Fatal编程技术网

Angular 接口类型脚本中的接口

Angular 接口类型脚本中的接口,angular,typescript,Angular,Typescript,我是angular的新手,我试图用interface类产生一些结果 export interface Header { parentTitles: string; childHeaders: ChildHeader[]; titleIcon: string; url: string; } export interface ChildHeader { childTitles: string; siblingHeaders: SiblingHeader[];

我是angular的新手,我试图用interface类产生一些结果

export interface Header {
   parentTitles: string;
   childHeaders: ChildHeader[];
   titleIcon: string;
   url: string;
  }

export interface ChildHeader {
   childTitles: string;
   siblingHeaders: SiblingHeader[];
   icon: string;
   url: string;
 }


export interface SiblingHeader {
  siblingTitles: string[];
  icon: string;
  url: string;
}

在comp.ts文件中

 headers: Header = [
   {
  parentTitles: 'Settings',
  childHeaders: ChildHeader = [{
    childTitles: 'General Setup',
    siblingHeaders: SiblingHeader = [{
      siblingTitles: ['Vessel', 'Port', 'Owner', 'Engine Type', 
    'Vessel Type'],
      icon: '',
      url: ''
    }],
    icon: '',
    url: 'home/general-setup'
      }]
   }

  ];
那么ChildHeader和SiblingHeader是未定义的,如何解决这个问题呢


谢谢

创建对象实例时,语法为
propertName:value
。不能将类型用作值。您得到的错误是,例如,
SiblingHeader
被用作一个值,但它不是一个值,而是一个类型

但是,由于您已经有了
header:header
,因此您已经将
header
对象声明为header,这意味着其
childHeaders
属性已经是
ChildHeader
的数组,它们本身是对象数组,具有作为
同级头的数组的
同级头的
属性。也就是说,您不需要属性在对象文本中包含类型,因为它们是从对象本身的类型派生的

const headers: Header[] = [{
  parentTitles: 'Settings',
  childHeaders: [{
    childTitles: 'General Setup',
    siblingHeaders: [{
      siblingTitles: ['Vessel', 'Port', 'Owner', 'Engine Type',  'Vessel Type'],
      icon: '',
      url: ''
    }],
    icon: '',
    url: 'home/general-setup'
  }]
}];

不能在对象文本内注释类型。您的
标题
标题[]
,而不是
标题
。我希望您将得到大量需要修复的编译时错误。当您说“
ChildHeader
SiblingHeader
未定义”时,您的意思是在运行时?