【发布时间】:2026-02-07 11:20:03
【问题描述】:
我想在我的应用启动后立即进行 Web API 调用。这个 Http 调用应该返回一个 Json 对象数组。
我想根据返回的元素数量创建 HTML 元素(在我的根应用程序中),然后在不同的 (child->child->child) 组件中访问和显示该数据,而不会将其分解为来自根应用程序。
我想我必须创建一个service 类。
问题
- 服务是在应用启动后立即实例化,还是仅在创建使用该服务的第一个组件时实例化?
- 我可以使用 Promise 来实现我想要的行为,还是必须使用 observable (BehaviorSubject)?
- 根据 2. 是否可以启动 Web API 调用(一旦应用启动),然后从其他独立组件检查数据是否已存在于我的服务中并使用它?
【问题讨论】:
-
我个人使用
ngOnInit() { this.getNames() }返回用户列表,然后<ul><li>*ngFor="let name of names"</li></ul>为返回的每个名称动态创建列表元素。我不确定这是否对您直接有用,但也许会。 -
这种方法的问题是,我在
li元素中嵌套了组件(你给出的例子),我不想像name这样的数据一直通过我的容器和其他组件,直到我到达我需要它的组件