首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Angular 10:如何在页面刷新时重新加载用户信息

Angular 10:如何在页面刷新时重新加载用户信息
EN

Stack Overflow用户
提问于 2021-11-10 19:46:10
回答 1查看 34关注 0票数 0

我有一个角度应用程序,加载用户的相关信息(用户的收藏夹,选定的项目等)通过单独的API调用,当用户登录。

这是一个简单的GET API调用&在登录组件中,完成对此API的调用后,我将用户重定向到仪表板。

此API的结果在仪表板页面上使用。当用户刷新仪表板页面时,该对象为空。我尝试调用API是app component ng oninit方法,但在完成此API之前,访问仪表板组件中的对象的代码被执行。

如何等待API调用完成?

EN

回答 1

Stack Overflow用户

发布于 2021-11-10 21:20:53

您需要做的是确保仅在请求成功完成后才显示内容。您可以使用*ngIf指令完成。有两种方法可以做到这点:

没有async管道。

模板:

代码语言:javascript
运行
复制
<ng-container *ngIf="userData">
    <!-- Your dashboard code here -->
</ng-content>

控制器:

代码语言:javascript
运行
复制
userData?: any;

...

ngOnInit() {
    this.userDataService.get().subscribe(res => {
        this.userData = res;
    });
}

使用async管道。

模板:

代码语言:javascript
运行
复制
<ng-container *ngIf="userData$ | async">
    <!-- Your dashboard code here -->
</ng-content>

控制器:

代码语言:javascript
运行
复制
userData$?: Observable<any>;

...

ngOnInit() {
    this.userData$ = this.userDataService.get();
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69919361

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档