嗨,在我的应用程序中,我有一个service和一个‘组件’。
我的service正在接收来自API的数据:
getNewShoppingCart() {
this.serverService.getShoppingCart().subscribe(
(data) => {
this.basket.boughtItems = data;
});
}我的component有一些使用service接收的对象的方法。
由于component是在service获取数据之前呈现的,所以我在控制台中遇到了一些错误。
如何强制组件等待到数据加载完成?
发布于 2018-06-25 20:06:52
您需要在组件中添加null/ length检查。例如,如果您使用此对象this.basket.boughtItems从服务接收数据,则在组件中添加ngIf条件,如*ngIf="basket.boughtItems.length > 0“
发布于 2018-06-25 21:55:06
使方法返回Observable或直接使用服务。
getNewShoppingCart(): Observable<ItemsType> {
return this.serverService.getShoppingCart()
}在组件中创建一个BehaviorSubject字段。
shopingCart = new BehaviorSubject();在ngOnInit上放入一些数据:
shopingCart.next(this.getNewShoppingCart())在指向shopingCart的组件中使用async管道
在需要的地方从BehaviorSubject获取值,如下所示:
shopingCart.getValue()https://stackoverflow.com/questions/51022833
复制相似问题