2017-09-20 3 views
0
ngOnInit(): void { 
    // Make the HTTP request: 
    this.http.get('/api_admin/user').subscribe(data => { 
     // Read the result field from the JSON response. 
     this.results = data; 

    }); 
} 

Ansicht:aktualisieren Ansicht nach http abonnieren, Winkel

<ul> 
    <li *ngFor="let project of results.name"></li> 
</ul> 

Gibt Fehlerkonsole:

ERROR TypeError: Cannot read property 'name' of undefined 

Muss ich irgendwie die Ansicht "sagen", dass ein Wert angekommen ist?

Antwort

0

Ihre Daten sind undefined, während es in der Vorlage verwendet werden soll. Oder Sie können den Standardwert für die results festlegen oder Sie können ngIf verwenden, um diesen Teil nur anzuzeigen, wenn die Daten angekommen sind.

Set Standardwert für results

results: any = { name: [] }; 

oder ngIf

<ul *ngIf="results"> 
    <li *ngFor="let project of results.name"></li> 
</ul> 
+0

Ah verwenden können. Funktioniert. Allerdings (vielleicht etwas offtopic). Meine Ansicht zeigt dies: [Objekt Objekt], [Objekt Objekt], [Objekt Objekt]. Muss ich es irgendwie konvertieren? – Per

+0

benutze json pipe :-) – alexKhymenko

+0

{{project | json}} – alexKhymenko

0

Ihre Ergebnisse verwenden ist nicht definiert.

einleiten Ihre Variable in Typoskript Datei

public results = { 
    name: [] 
    } 
0

Sie auch sicher Navigations Operator (?) zu handhaben null und undefined in Schrägansicht

<ul> 
    <li *ngFor="let project of results?.name"></li> 
</ul> 
Verwandte Themen