这是我需要的数据结构
this.nodes=[
{
id: 1,
name: 'root1',
children: [
{ id: 2, name: 'child1' },
{ id: 3, name: 'child2' }
]
},
{
id: 4,
name: 'root2',
children: [
{ id: 5, name: 'child2.1' },
{
id: 6,
name: 'child2.2',
children:[
{id:7, name:'child2.2.1'}
]
}
]
},
];
对于数据类型声明,我需要编写一个类似这样的类
export class EvaluationMapperNodes {
id: number;
name: string;
children: EvaluationMapperNodes[];
}
在内部使用EvaluationMapperNodes
会出错。但孩子的深度是动态的。
我如何以递归方式调用其中的类。
P.S。它的Angular 2项目。
答案 0 :(得分:1)
更改界面,如:
export class EvaluationMapperNodes {
id: number;
name: string;
children?: EvaluationMapperNodes[];
}
因为这部分而必须得到的错误
...
children: [
{ id: 5, name: 'child2.1' },
{...
因为它不包含children
属性,所以它应该是optional
,并且可以通过在属性名称之前使用?
来实现,如
children?: EvaluationMapperNodes[];