Próbuję uzyskać zrozumienie, jak zmapować wynik z wywołania usługi na obiekt za pomocą http.get i Observables w Kątowymi 2.Jak zmapować odpowiedź z http.get na nową instancję wpisanego obiektu w Angular 2
Spójrz na tego Plunk
w sposobie getPersonWithGetProperty Czekam na powrót do zaobserwowania typu PersonWithGetProperty. Jednak! Nie mogę uzyskać dostępu do właściwości fullName. Sądzę, że musiałbym utworzyć nowe wystąpienie klasy PersonWithGetProperty i odwzorować odpowiedź na ten nowy obiekt przy użyciu konstruktora klasy. Ale jak to zrobić w metodzie getPersonWithGetProperty?
import {Injectable} from '@angular/core';
import {Http, Response} from '@angular/http';
import {Observable} from 'rxjs/Rx';
export class PersonWithGetProperty {
constructor(public firstName: string, public lastName: string){}
get fullName(): string {
return this.firstName + ' ' + this.lastName;
}
}
@Injectable()
export class PersonService {
constructor(private http: Http) {
}
getPersonWithGetProperty(): Observable<PersonWithGetProperty> {
return this.http.get('data/person.json')
.map((response: Response) => <PersonWithGetProperty>(response.json()));
}
}
Dziękuję za wyjaśnienie rzeczy dla mnie! –
Co zrobić, jeśli masz bardzo złożony obiekt lub obiekt, którego nie można skopiować za pomocą tylko jego konstruktora? Obiekt bez konstruktora, na przykład. –
@ CarlosAdrián, a następnie używasz fabryki obiektów lub zamawiasz metody, które chcesz użyć na obiekcie. – paulpdaniels