具有复杂数据的Angular 4句柄

问题描述 投票:0回答:1

我有三个类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,结合一些get / set函数来获取所需的信息,但是我不认为我会走最好的路

我想在开始之前做一个解析器以获得完整的A数据,但这是很多承诺的混乱。

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

angular angular-resolver
1个回答
0
投票

A的某些行为取决于C项

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

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

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

© www.soinside.com 2019 - 2024. All rights reserved.