Ich fange gerade mit Observables in Angular 2 an und habe eine Frage.Angular 2 Observable Dataservice get Gegenstand von Observable
Ich habe eine Methode in meiner Datenservice-Klasse namens getExplorerPageData, die einen http-Aufruf macht, der eine Datenstruktur mit ein paar Arrays zurückgibt. Ich hätte gerne eine zusätzliche Funktion namens getTag, die eines der Elemente abrufen kann, die im Aufruf getExplorerPageData() abgerufen wurden.
Um klar zu sein, ich möchte den Server nicht erneut treffen, wenn ich getTag aufrufen, würde ich lieber nur das Element aus dem Aufruf abrufen, die ich bereits getExplorerPageData() gemacht habe.
Ich fragte mich, was ist der beste Weg, dies zu tun?
getExplorerPageData(): Observable<IExplorerPageData> {
return this.http.get(this.baseurl + "/explorerpagedata")
.map((response: Response) => <IExplorerPageData>response.json())
.catch(this.handleError);
}
getTag(id: number): ITag {
//todo need to return one of the tags in explorerPageData.Tags
return
};
export interface IExplorerPageData{
Tags: ITag[],
Uploads: IUpload[],
}
export interface ITag {
TagId: number,
Title: string
}
Ich denke der Aufruf zu 'do()' in der 1. Variante sollte nicht da sein? –
Guter Fang. Danke - behoben. –