我有三个类A,B和C,如下所示:
class A{
id: number;
name: string;
//... more
items: B[];
}
class B{
id: number;
name: string;
//... more
otherItems: C[];
}
class C{
id: number;
name: string;
}
A,B和C有自己的服务来从http请求中通过id获取数据,但数据就像
class A{
id: number;
name: string;
...
items: number[]; //ids of B items
}
class B{
id: number;
name: string;
...
otherItems: number[]; //ids of C items
}
class C{
id: number;
name: string;
...
}
A的某些行为取决于C项,因此我有三个组件(AComponent
,BComponent
和CComponent
),其中包含' id'输入和我在父组件上使用@ViewChildren,结合一些获取/设置功能来获取所需的信息,但我不认为我是最好的方式
我想在开始之前做一个解析器以获得完整的A数据,但是这么多的承诺让它变得一团糟。
您认为这是一个更好的解决方案吗?还有其他想法吗?
答案 0 :(得分:0)
A的某些行为取决于C项
也许你应该为此工作。你不可能从C开始,因为你不知道C的ID。因此A需要依赖于自身,至少对于A的初始加载,它需要依赖于自身。
A的公共部分(取决于它自己)需要被隔离出来,只是为了完成A的加载。然后一旦加载C,你就可以回来再次调整A.
这是一个圆圈,所以我猜关键是打破圆圈以形成一条线。