具有复杂数据的Angular 4句柄

时间:2018-03-05 18:48:41

标签: angular angular-resolver

我有三个类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项,因此我有三个组件(AComponentBComponentCComponent),其中包含' id'输入和我在父组件上使用@ViewChildren,结合一些获取/设置功能来获取所需的信息,但我不认为我是最好的方式

我想在开始之前做一个解析器以获得完整的A数据,但是这么多的承诺让它变得一团糟。

您认为这是一个更好的解决方案吗?还有其他想法吗?

1 个答案:

答案 0 :(得分:0)

  

A的某些行为取决于C项

也许你应该为此工作。你不可能从C开始,因为你不知道C的ID。因此A需要依赖于自身,至少对于A的初始加载,它需要依赖于自身。

A的公共部分(取决于它自己)需要被隔离出来,只是为了完成A的加载。然后一旦加载C,你就可以回来再次调整A.

这是一个圆圈,所以我猜关键是打破圆圈以形成一条线。