【发布时间】:2018-04-10 18:16:59
【问题描述】:
我正在使用 Observable.forkjoin 发送多个 http 请求并将结果存储在一个变量中,但我无法访问 html 中的结果。有没有人可以帮忙。
Service.ts:
addedProductIdArray : string[] =[];
reqs = [];
constructor(private _http: Http){};
getAddedProducts() {
for(var i = 0; i < this.addedProductIdArray.length; i++){
this.reqs.push(this._http.get("https://my-json-server.typicode.com/shopping-cart/"+this.addedProductIdArray[i])
.map((res: any) => res.json()));
}
return Observable.forkJoin(this.reqs);
}
组件.ts
products : IProduct[];
constructor(private _cartService : CartService) {
this._cartService.getAddedProducts().subscribe((data: IProduct[]) => {
this.products = data;
});
};
组件.html:
<ng-container *ngFor="let product of products">
<a>{{product.title}}</a>
</ng-container>
我的 html 中的 product.title 为空。请帮忙
【问题讨论】:
-
您是否在组件中登录了
this.products?看到里面的数据了吗? -
是的,它返回所需的数组
-
@AnshumanJaiswal 你可以在这里看到输出 - 08b11a0437.stackblitz.io/products 请将一两个产品添加到购物车,然后从主导航转到购物车页面并查看 console.log。您可以看到显示的是静态数据,但没有显示“产品”数据
-
@AnshumanJaiswal 即使在删除地图后我也得到了相同的输出
-
谢谢@AnshumanJaiswal 我更喜欢使用地图选项
标签: angular observable fork-join