2017-03-23 2 views
0

habe ich eine Art Skript-Komponente, die zwei Schnittstellen wie definiert:anzeigen Alle Artikel in einer Array-Eigenschaft in Angular 2

interface Project { 
name: string; 
activity: string; 
lastBuildStatus: string; 
lastBuildTime: string; 
lastBuildLabel: string 
webUrl: string; 
} 

interface GoArray { 
projects: Array<Project>; 
} 

Die Komponenten macht einen Aufruf zu einem ASP-Core-Controller ein Objekt mit Eigenschaft ‚Projekte zurückzukehren 'Welche selbst ist eine Liste von' Projekt 'Objekten. Also ich glaube, das entspricht meinen Interface-Definitionen. In der Steuerung stelle ich ein Objekt vom Typ GoArray auf das Ergebnis von der Steuerung

export class GoComponent { 
public projectsArray: GoArray; 

constructor(private http: Http) { 
} 

public getPipelineStatus(chosenUsername: string, chosenPassword: string, chosenUrl: string) { 

    // debugger; 
    this.http.get('api/go/cctray?username=' + chosenUsername + '&password=' + chosenPassword + '&uri=' + chosenUrl).subscribe(result => { 
     this.projectsArray = result.json(); 
    }); 

Dies scheint Daten in dem Format zu zurückkehren ich erwarte. Aber wie zeige ich dann alle Elemente im Array in meinen Komponenten HTML an?

Ich habe versucht,

<div *ngIf="projectsArray"> 
<div *ngFor='let project of projectsArray.projects'> 
    {{project.Name}} 
    {{project.Activity}} 
</div> 

Nichts wird auf dem Bildschirm mit diesem gemacht, aber wenn ich die Komponente Augury inspizieren, scheint es, als ob die projectsArray bevölkert ist, wie ich

erwartet

enter image description here

Wie iteriere ich über die Liste und zeige die Eigenschaften der einzelnen Objekte an?

Dank

+2

Ihre Eigenschaften sind kleingeschrieben, so dass man sie als '{{project.name}}' und '{{project.activity}}' – devqon

Antwort

1

Es sollte,

<div *ngFor='let project of projectsArray.projects'> 
    {{project.name}} 
    {{project.activity}} 
</div> 
+0

angezeigt werden sollte Vielen Dank !, das funktioniert – Chris

Verwandte Themen