J'ai une observable qui est remplie comme ceci :
this._mySubscription = this._myService.getSomething(id)
.subscribe(
response => this._myData = response,
error => this.displayError(<any>error),
() => this.stopLoading()
);
Je peux accéder à ses propriétés dans mon balisage HTML en utilisant l'opérateur Elvis comme ceci :
{{_myData?.PropertyNameHere}}
Mais comment puis-je accéder à la même propriété dans le composant en utilisant TypeScript ?
Cela produit une ligne rouge ondulée sous la propriété :
this._myData.PropertyNameHere
Et dit :
La propriété n'existe pas sur Observable
Mise à jour : Exemple d'appel de service
getSomething(id: string): Observable<any> {
let params = 'id=' + id;
return this._http
.post(apiUrl + 'SomeController/SomeAction', params, {withCredentials: true, headers: this.headers})
.timeoutWith(maxTimeHttpCalls, Observable.defer(() => Observable.throw(this._feedbackService.timeout())))
.map((response: Response) => response.json().data.Items);
}