Tôi gặp lỗi khi cố hiển thị kết quả cuộc gọi dịch vụ của anh ấy. Trang html có một ngFor với | không đồng bộ. Tôi có thể thực hiện cuộc gọi, nhận kết quả, nhưng nhận được lỗi khi cố gắng hiển thị trang. Tôi biết biến cần phải là một Observable cho async để làm việc. Tôi không chắc mình đang làm gì sai và đã thử nhiều thứ. Bất kỳ cái nhìn sâu sắc được đánh giá cao.Angular2 n - nhận đối số không hợp lệ [đối tượng đối tượng] ... cho đường ống 'AsyncPipe'
Thông báo lỗi: luận không hợp lệ '[đối tượng Object], [đối tượng Object], [đối tượng Object], [đối tượng Object], [đối tượng Object], [đối tượng Object], [đối tượng Object], [đối tượng Object], [Object Object], [Object Object], [Object Object], [Object Object], [Object Object], [Object Object], [Object Object], [Object Object], [Object Object], [đối tượng Object], [đối tượng Object], [đối tượng Object]' cho ống 'AsyncPipe'
Biến Definition
public products:Observable<Product[]>;
Gọi tới Dịch vụ
ngOnInit() {
this.productService.load().subscribe(
data => {
// Set the products Array
this.products = data['_embedded'].products;
},
error => console.log('Could not find product catalog.')
);
}
Dịch vụ Gọi
load() {
return this._http.get(`http://localhost:8000/products`).map(response => response.json());
}
HTML
<tbody *ngFor="let product of products | async">
<tr>
<td>{{product.sku}}</td>
<td>{{product.materialNumber}}</td>
<td>{{product.price}}</td>
<td>{{product.baseUom}}</td>
<td>{{product.packageSize}}</td>
<td>{{product.casePack}}</td>
<td>{{product.weight}}</td>
<td>{{product.height}}</td>
</tr>
</tbody>
dữ liệu từ Gọi
Cảm ơn, có loại bỏ các async từ các công trình ngFor, nhưng tôi muốn có được những thứ để làm việc với async ... Cảm ơn bạn đã nhập – Don
Tôi đã cập nhật câu trả lời với nhiều giải thích hơn –
Cảm ơn bạn Andrei. – Don