gpt4 book ai didi

angular - Interface typescript 中的接口(interface)

转载 作者:行者123 更新时间:2023-12-04 14:22:42 24 4
gpt4 key购买 nike

我是 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 property 已经是一个 ChildHeader 数组,它们本身是对象数组,siblingHeaders 属性是一个 SiblingHeader 数组。也就是说,您不需要属性在对象字面量中具有类型,因为它们是从对象本身的类型派生的。

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'
}]
}];

关于angular - Interface typescript 中的接口(interface),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52260758/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com