延迟渲染路由器出口

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

是Angular6的新手,并且面对这种情况:

我在app.component.ts上有一个API。获取数据后,将其存储在会话存储中,以供其他组件(即abcComponent)使用。

这里的问题是,当abcComponents尝试从会话中获取时,app.component中的API未完成,因此没有存储在会话存储中

使用路由器插座加载我的其他组件。

我尝试使用解析,但是解析的服务正在为每个组件调用。因此,任何建议都将是有用的

angular typescript angular6
2个回答
0
投票

您想在abccomponent中而不是app.component中调用api。和abccomponent应该具有某种微调器,以向用户显示正在加载数据。


0
投票

在Angular中解决此问题的通常方法是:

  1. 创建服务并将其标记为@Injectable
  2. 在服务中,调用带有返回可观察对象的Angular HttpClient模块的API。
  3. 在abcCompoent中注入服务并订阅调用API的可观察对象,然后在组件认为合适时使用数据。

我知道这听起来可能令人困惑,但是在这里您有一个很好的示例的Angular文档:Communicating with backend services using HTTP - Angular docs

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