Ich kann nicht herausfinden, wie JSON-Objekt-Array vom Web-Service zu korrekt getippten Objekt-Array in Angular 2-Anwendung.Angular 2 offizielles Beispiel: stark typisierte Json Objekt Array Mapping Bug
Wie Sie im offiziellen Beispiel von Angular 2 in Plunker sehen können, sind die erwarteten Objekte nicht vom Typ Hero, sondern vom Typ Objekt und den Helden: Hero [] Mitglied von HeroListComponent ist eigentlich ein Objekt []. Sie können in der Konsole sehen, dass das Array ist nicht stark typisiert:
http://plnkr.co/edit/Qa22yzPh3JWI8lNZ99Ik?p=preview
ich zusätzliche console.log hinzugefügt() aufrufen Helden Befehl hinzufügen, können Sie in Browser-Konsole sehen, dass wir nicht über einen Helden [] aber Objekt [].
hier also offenbar die Umwandlung nicht funktioniert:
this.http.get(this._heroesUrl)
.map(res => <Hero[]> res.json().data)
.catch(this.handleError);
und wir bekommen Object [] statt Held [].
Irgendwelche Ideen darüber, wie JSON auf korrekt typisierte Objekte abgebildet wird?
Weitere Informationen: https://angular.io/docs/ts/latest/guide/server-communication.html
Vielen Dank für Ihre Antwort! Ja, ich habe beobachtet, dass Methoden nicht funktionieren, wie Sie gesagt haben und diesen Thread gestartet haben :) Wenn Sie sagen, es sollte eine Schnittstelle sein .. Kennen Sie ein gutes Beispiel dafür? Der beste Weg, um Modellobjekte mit öffentlichen Methoden zu erhalten und sie mit json aus Web API zu bevölkern? Ich meine, gibt es keinen automatischen Mapper? Für verschachtelte Objekte ist es wirklich eine Belastung, eine manuelle Zuordnung vorzunehmen. Ich konnte einfach kein gutes Beispiel für diesen grundlegenden Fall interessant finden ... Um meine Objekte zu füllen, die von Typskript-Klassen mit json-Daten kommen, die von Web-API kommen. –
Oder sollte ich die Schnittstelle an den Konstruktor eines anderen Objekts übergeben, der sich selbst initialisiert und öffentliche Methoden offenlegt, die ich aus Templates aufrufen muss? Vielleicht ist mein Ansatz hier falsch ... Danke! –