Merci au tutoriel sur une page angulaire appelé "Visite des héros" , je réussi à créer une application angulaire simple simple. Ensuite, utilisez l'énoncé-cadre, j'ai décidé de créer une base de données. Et remplissez la liste des héros de celui-ci (pas du fichier). J'ai créé un contrôleur d'API Web et j'ai ajouté une méthode simple GET.
Ensuite, dans héros.service.ts: strong> p> Hero.Service.ts code> J'appelle cette méthode pour obtenir la liste des héros. Quand je déjeune mon application, il affiche la liste des héros mais sans aucune valeur (nom et identifiant sont vides). Lorsque j'ai débogué ma candidature dans le navigateur, je peux voir
this.heroes code> objet dans
héros.component.ts code> contient des données correctes. Alors, quoi de neuf? Pourquoi ne pas
nom code> et
id code> montrant?
[{"Id":1,"Name":"Superman"}]
3 Réponses :
getHeroes() { this._heroservice.getHeroes() .subscribe(res=>{ this.heroes=res; console.log(this.heroes); // make sure you get data here. }, (err)=>console.log(err), ()=>console.log("Done") ); }
Non, Elvis Operator ne vous aidera pas ici. La console ne jette aucune erreur pour que la valeur ne soit pas nulle au moins le héros code>.
{valeur => ceci.heroes = valeur, console.log (this.heroes)}, ... code> Qu'est-ce que vous avez dans la console?
HMM Vous n'obtenez pas de données d'API. Vérifiez cela en premier.
Alors, comment se fait-il que j'ai obtenu le résultat: [{"id": 1, "nom": "superman"}] code>, et quand je débogé, je peux voir dans
héros code> objet qu'il contient la matrice avec 1 élément avec exactement les mêmes valeurs: 1 et Superman?
mais vous venez de dire que c'est indéfini
Oui dans la console, il dit non défini code>. Mais dans le débogueur, je peux voir ceci: image
comment c'est possible? Peux tu m'expliquer?
Vérifiez ma mise à jour. Plus PLNKR.CO/EDIT/O5VXFCDNB3TZ7FAQAYAM?P=preview Si vous pouviez reproduire ici quelque chose . Je sais depuis que vous utilisez l'API Web, il n'est pas possible d'aller avec PLUCKER mais toujours si vous pouviez trouver quelque chose en fourchant mon plumker.
Essayez ceci: héros publics: héros [] = []; code> p>
Dans mon cas, le problème était lié à la bogue Visual Studio 2015. Il n'y avait rien de mal avec le code lui-même. Parfois, les modifications apportées à VS n'ont pas été rafraîchies dans le navigateur. Mise à jour de VS à la dernière version aidée. p>
Avez-vous une réponse appropriée dans la console? Convertissez-vous la réponse en camelcase ou quelque chose? Dans HTML Mettez
{{héros | JSON}} code> et dites-moi qu'est-ce que vous obtenez?
Oui dans la console, il dit Statut: OK. Et je peux ouvrir le JSON dans un nouvel onglet et voir les valeurs telles que ci-dessus. Quand je mets
{{héros | json}} code> Je ne vois rien ...
Avez-vous une erreur?
Non, malheureusement je ne le fais pas. La console est claire.
Attendez un moment. FYI - Cela ne semble pas du tout contrôleur API comme
valuecontroller: contrôleur code>, il doit être
: apicontroller code>