2016-06-21 3 views
0

Ich habe eine Angular2 App mit der Version 2.0.0-rc.2.Angular2 RC "NgFor unterstützt nur die Bindung an Iterables wie Arrays." Fehler

Wenn ich den folgenden http get Anruf in einem Dienst verwende, bekomme ich einen Fehler, der sagt "NgFor unterstützt nur Bindung an Iterables wie Arrays.". Es gibt weitere Details des Fehlers am Ende des Posts. Ich rufe einen .net Web API Endpoint. Wenn der Dienst auf eine JSON-Datei verweist, funktioniert die App wie erwartet. Hat jemand irgendwelche Ideen?

Dies ist der Service-Aufruf ...

getTiles(): Observable<ITile[]> {  
    return this._http.get(this._tileUrl) 
     .map((response: Response) => <ITile[]> response.json()) 
     .do(data => console.log('All: ' + JSON.stringify(data))) 
     .catch(this.handleError); 
} 

Hier weitere Details zu dem Fehler ist ...

‚[{ "TileId": 2119799133, "Titel":" Die Old Doctor Butlers Kopf "}, {" TileId ": 2132951783," Titel ":" Milchtee & Perle "}, {" TileId ": 2139685810," Titel ":" "}] 'des Typs' string ' . NgFor unterstützt nur die Bindung an Iterables wie z. B. Arrays.

Die Komponente, die diesen Service abonniert hat dies wie eine ...

ngOnInit(): void { 
     this._TilesService.getTiles() 
       .subscribe(
        tiles => this.tiles = tiles, 
        error => this.errorMessage = <any>error); 
} 

Und enthält HTML ...

<div *ngFor="let t of tiles"> 
    <tile [tile]='t'></tile> 
</div> 
+1

Veröffentlichen Sie die HTML bitte. – PeteGO

+0

Und der entsprechende Komponentencode. –

+0

All dies sollte in der Frage, richtig formatiert sein. –

Antwort

0

Vielen Dank für Ihre Ideen. Ich habe das Problem gelöst. Es war auf der Web API Seite. Der Inhalt wurde manuell serialisiert, aber das wird nicht benötigt, da Web Api sich darum kümmert. Dies führte zu einer schlechten Formatierung des zurückgegebenen Inhalts. Diese Zeile wurde entfernt ...

var json = JsonConvert.SerializeObject(tiles); 
Verwandte Themen