Angular2 n - immer invalid argument [object object] ... für Rohr 'AsyncPipe'
Erhalte ich eine Fehler-Anzeige er Ergebnisse meiner service-Aufruf. Die html-Seite hat eine ngFor mit der | async. Ich kann die nennen, die Ergebnisse zu erhalten, aber erhalten Sie eine Fehlermeldung beim Versuch die Seite zu Rendern. Ich weiß, die variable muss zu einer Beobachtbaren, für das asynchrone arbeiten. Ich bin nicht sicher, was ich falsch mache und habe versucht, ein paar Dinge. Jede Einsicht wird sehr geschätzt.
Fehlermeldung:
Invalid argument '[object object],[object object],[object object],[object object],[object object],[object object],[object object],[object object],[object object],[object object],[object object],[object object],[object object],[object object],[object object],[object object],[object object],[object object],[object object],[object object]' Rohr 'AsyncPipe'
Variable Definition
public products:Observable<Product[]>;
Anruf beim Service
ngOnInit() {
this.productService.load().subscribe(
data => {
//Set the products Array
this.products = data['_embedded'].products;
},
error => console.log('Could not find product catalog.')
);
}
Service-Aufruf
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>
Daten Aus Call -
Du musst angemeldet sein, um einen Kommentar abzugeben.
Async
Rohr muss einObservable
dann eher einArray
.In Ihrem Fall nur versuchen, Sie zu entfernen
async
:Auch ändern variable-definition:
Erklärung:
array | async
hatsubscribe
von selbst.Den code
verwandelt ein
Observable
zuArray of Products
Update:
Dies funktioniert bereits in
async
Weise: daproducts
ist ein leeres array,ngFor
läuft nicht. WennObservable
bekommt eine Antwort und füllt Daten inproducts
einechange detection
Runde findet statt und geht durchngFor
wieder (jetzt das Auffüllen der Produkte)Andere seltsame Sache, die ich bemerkt habe (ich könnte falsch sein):
ngFor
sehr wie sollten Sie auftr
:In diesem Fall haben Sie mehrere Zeilen und nur einer
tbody