Mes connaissances sur les observables sont limitées, donc il pourrait être évident que ce que je fais de mal ici est évident.S'abonner à observable pour récupérer des données
À l'initialisation de mon composant Angular 2, cet appel se produit.
ngOnInit(): void {
this.route.paramMap
.switchMap((params: ParamMap) => this.userService.getUser(+params.get('id')))
.subscribe(user => this.user = user);
console.info(this.user.id);
}
Ce appelle cette méthode de service:
getUser(id: number): Promise<User> {
let url = this.baseUserUrl + 'GetUserAsync?id=' + id;
return this.http.get(url)
.toPromise()
.then(resp => resp.json() as User);
};
Snippet du code html où l'objet utilisateur est utilisé
<div class="row padding-left">
<div class="col-sm-6 base-info-container info-box-details">
<table class="info-box">
<tr>
<td>User Id: {{ user.id }}</td>
<td>Email: {{ user.email }}</td>
</tr>
</table>
</div>
</div>
Resp.json apporte certainement les données de retour, mais l'utilisateur variable n'est pas sur le composant est en cours de définition et je ne sais pas pourquoi.
Salut, puis vous fournissez du code de votre HTML de composant aussi? –
@ t3__rry A édité le message pour en contenir un extrait –
Avez-vous essayé d'ajouter '?' (Opérateur de navigateur sécurisé: https://angular.io/guide/template-syntax#the-safe-navigation-operator et-null-property-paths) en tant que tel: 'user? .id'? –