等待订阅数据准备就绪,然后再将其用作输入

时间:2018-04-20 17:48:27

标签: angular typescript rxjs observable

我一直在研究一个服务,它获取了一个用户列表,我将用它作为子组件的输入,问题是组件在用户列表加载完成之前加载,我找到的一个解决方案是添加*ngIf并验证数组是否为空。但是我想知道这是否是我能达到我想要的结果的最好方法。这是我的代码:

private getUsersList(): void {
    this.usersService.getUsers().subscribe((response: any[]) => {
        this.usersList = response;
    });
}

这是我的HTML:

<users-grid 
    *ngIf="usersList"
    [data]="usersList">
</users-grid>`

1 个答案:

答案 0 :(得分:0)

我可以使用异步管道

TS:

private getUsersList(): void {
    this.usersList = this.usersService.getUsers();    
}; 

HTML:

<users-grid *ngIf="usersList | async; let list"
      [data]="list">
</users-grid>