从浏览器重新加载页面时的角度异步请求

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

我已经尝试寻找解决方案,大多数人建议使用解析器,但就我而言,我认为这太复杂了,因此我确实需要有关如何执行此操作的建议。

应用概述:我有一个允许用户登录(URL / app / login)的平台,一旦成功登录,他们将被重定向到仪表板(URL / app / dashboard)。当用户登录时,他们的令牌将存储在cookie中,并且我正在获取与此用户相关的多个数据。这将存储在组件dataServices中。一切正常,但是问题是当用户重新加载浏览器时,dataServices将被异步填充,因此,在dataServices填充之前,将首先初始化一些高度依赖dataServices的组件。我可以想到的一种方法是在“ dataServices”中使用观察者,等到数据填满后再通知主题。

有人对如何做到这一点有任何建议吗? (抱歉,我是新手,对不起)

angularjs angular angular-router angular-router-guards
1个回答
0
投票

我这样做的方法是让路由器插座在数据加载时不渲染

在上级组件中

<app-spinner *ngIf="loading$ | async else loaded"></app-spinner>
<ng-template #loaded>
  <router-outlet></router-outlet>
</ng-template>

这样,依赖于正在加载的父数据的子组件才会在数据加载之前呈现。

您可以阅读我在本文中使用的这种模式。 https://medium.com/@adrianbrand/angular-state-management-with-rxcache-part-2-12de225e4de0

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