J'écris un site Web angulaire et je suis nouveau sur la plate-forme. J'essaie d'obtenir des données d'un service Web au format JSON, puis il suffit de la sortir. J'ai vu de nombreux exemples où les données sont d'abord canalisées dans une matrice d'une classe / modèle. Mais j'aimerais savoir s'il y a un moyen plus facile de ne pas avoir à faire cette structure de données supplémentaire. (Ceci est une application vraiment simple)
dans ma classe dosseuse: p> et dans le fichier html p> La console voit mon objet avec mon objet, mais je reçois ce message d'erreur lorsque j'essaie de faire l'itération: p> Erreur d'erreur: InvalidPipeargument: '[Objet d'objet]' Pour le tuyau 'Asyncpipe' P> P> P> p>
3 Réponses :
enfermer les témoignages et dans le service ne s'abonne pas au HTTP Observable. La propriété Testimonials devrait être observable. p> Le | async code> dans des parenthèses qui est beaucoup de code nettoyant async code> s'abonnera et obtenez les témoignages. p> p>
Si j'essaie ceci, j'obtiens maintenant cette erreur: Erreur d'erreur: impossible de trouver un objet de support différent '[objet d'objet]' de type 'objet'. Ngfor prend uniquement en charge la liaison à des itérables tels que des tableaux.
ou vous pouvez utiliser votre code sans le tuyau ASYNC.
<li *ngFor='let testimonial of testimonials'>
{{ testimonial.Name }}
</li>
Je reçois exactement la même erreur si j'essaie cette approche
Ngfor prend uniquement en charge la liaison à des itérables tels que des tableaux. Vérifiez les données que vous obtenez de l'observable. console.log (res); Est-ce un tableau? N'est-ce pas défini? Vous pouvez également quelles données sont transférées dans la console F12. Le tableau est-il situé dans une propriété?
Témoignages publics: Observable
Sofar Ça ne fonctionne pas encore, j'ai une idée que le problème est quelque part à faire avec le tableau VS objet. Il dit un tableau mais les supports bouclés indiquent un objet autant que je sache, aucune autre approche n'a fonctionné. Voici le journal de la console pour mon code d'origine: ~~~ {Données: Array (4)} Données: Array (4) 0: {ID: "1", Nom: "ian", corps: "C'est génial "} 1: {id:" 2 ", nom:" ian ", corps:" C'est génial "} 2: {id:" 3 ", nom:" Morne ", corps:" C'est génial2 "} 3: {Id: "4", nom: "kb", corps: "Ceci est génial3"} Longueur: 4 proto b>: tableau (0) proto b>: objet ~~~
Je pense que le tableau est situé dans les données de propriété. Essayer: Testimonials.data
ou mieux changer cela.lestimonials = res.data (puis gardez: laissez témoignage des témoignages)
L'erreur que vous obtenez à cause de la pipe ASYNC forte> en savoir plus sur la visite de tuyaux ASYNC en dessous du lien
https://angular.io/api/common/asyncpipe P> Faites des modifications ci-dessous dans votre code: P> dans le fichier Typecript: p> dans le fichier html: p>