Angular 接口类型脚本中的接口
我是angular的新手,我试图用interface类产生一些结果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[];
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
未定义”时,您的意思是在运行时?