Angular2 n - ungültiges Argument [Objekt Objekt] ... für die Pipe 'AsyncPipe' erhalten

9

Ich erhalte einen Fehler beim Versuch, die Ergebnisse meines Serviceanrufs anzuzeigen. Die HTML-Seite hat eine ngFor mit dem | asynchron. Ich kann den Anruf tätigen, die Ergebnisse abrufen, aber beim Versuch, die Seite zu rendern, einen Fehler erhalten. Ich weiß, dass die Variable ein Observable sein muss, damit das Async funktioniert. Ich bin mir nicht sicher, was ich falsch mache und habe mehrere Dinge ausprobiert. Jede Einsicht ist willkommen.

Fehlermeldung: Ungültiges Argument '[Objekt Objekt], [Objekt Objekt], [Objekt Objekt], [Objekt Objekt], [Objekt Objekt], [Objekt Objekt], [Objekt Objekt], [Objekt Objekt], [Objekt Objekt], [Objekt Objekt], [Objekt Objekt], [Objekt Objekt], [Objekt Objekt], [Objekt Objekt], [Objekt Objekt], [Objekt Objekt], [Objekt Objekt], [Objekt Objekt], [Objekt Objekt], [Objekt Objekt] 'für Pipe' AsyncPipe '

Variable Definition

%Vor%

Aufruf an den Dienst

%Vor%

}

Serviceanruf

%Vor%

HTML

%Vor%

Daten von Anruf

    
Don 30.06.2016, 11:33
quelle

1 Antwort

13

Async pipe benötigt eine Observable anstatt eine Array .

In deinem Fall versuche einfach async :

zu entfernen %Vor%

Ändern Sie auch die Variablendefinition:

%Vor%

Erklärung: array | async macht subscribe für sich alleine.

Der Code

%Vor%

wandelt Observable in Array of Products

um

Aktualisieren : Dies funktioniert bereits in async way: da products ein leeres Array ist, wird ngFor nicht ausgeführt. Wenn Observable eine Antwort erhält und Daten in products eingibt, findet eine change detection Runde statt und durchläuft ngFor erneut (jetzt werden Produkte bevölkert)

Eine andere seltsame Sache, die ich bemerkt habe (ich könnte falsch liegen):

ngFor sehr ähnlich sollte auf tr sein:

%Vor%

In diesem Fall haben Sie mehrere Zeilen und nur ein tbody

    
Andrei Zhytkevich 30.06.2016, 11:40
quelle

Tags und Links