J'ai un problème avec angular. Je suis resté coincé sur ceci:
J'obtiens la liste des éléments de l'API et je répète comme ceci:
Maintenant, j'affiche les résultats en p: Numéro: {{item.value.number}} Nom: {{item.value.name}} Et le résultat est affiché. Mais ensuite, je dois transmettre ces valeurs à ma fonction. Cela ne fonctionne pas. La console dit: J'ai cherché pendant longtemps et je n'ai pas trouvé de réponse. Comment contourner cela? Je ne sais pas comment appliquer ces valeurs à ma fonction d'une autre manière. Veuillez aider.
J'utilise la dernière version angulaire. Erreur de l'analyseur: vous avez une interpolation ({{}}) là où l'expression était attendue .
4 Réponses :
Utilisez simplement sans les accolades
<button (click)="addToList(item.value.number, item.value.name)">
supprimez simplement les accolades.
<button (click)="addToList(item.value.number,item.value.name)">
Dans la balise button, supprimez les doubles accolades. votre application fonctionnera.
<button (click)="addToList(item.value.number, item.value.name)">
La meilleure façon de le faire est simplement de passer tout l'objet au lieu de passer chaque champ, vous pouvez accéder aux champs nécessaires dans la fonction, cela ne vous permettra pas de faire face à des problèmes à l'avenir si vous souhaitez modifier les paramètres, cependant comme d'autres l'ont mentionné, utilisez sans accolades,
addToList(item:any){
//access things you need
}
maintenant dans votre fonction
<button (click)="addToList(item)">
laissez tomber les accolades et cela devrait fonctionner
je suis tellement stupide, désolé :(