AngularJS liste d'affichage à partir d'un tableau
J'ai un contrôleur qui renvoie un tableau, je vais essayer d'afficher chaque élément de ce tableau comme une liste.
Ce que je suis tente de faire, ce qui n'est pas de travail:
<li ng-repeat="Name in names">
<a ng-controller="PostsCtrl" href="#">{{response.text}}</a>
</li>
réponse.texte retourne un tableau à partir du contrôleur.
Je suis également se demander, quelle est la valeur de la ng-repeat attribut censé être, toute chaîne unique?
Merci!
- Ce n'
names
etresponse
ressembler? Je sais que vous mentionnez un tableau mais sont tous les deux d'un tableau? - Que diriez - {{ JSON.stringify(la réponse.de texte) }} ?
InformationsquelleAutor Abushawish | 2014-11-10
Vous devez vous connecter pour publier un commentaire.
Définir le tableau dans votre contrôleur avec l' $portée variable:
Puis utilisez ng-repeat sur la VARIABLE, pas le contrôleur.
Le contrôleur est seulement utilisé pour définir ce qu' $portée des variables que vous pouvez utiliser dans cette section, et n'est pas utilisée comme une variable elle-même.
ngRepeat
est fondamentalement juste comme unfor
boucle. Il n'y a pas de valeur par défaut, vous avez juste besoin de donner les données que vous souhaitez parcourir. Ainsi, lorsque vous êtes en train de faire unng-repeat="name in names"
, il est similaire à faire quelque chose commefor(var name in names){}
dans la plaine du javascript. Pour que cela fonctionne correctement, vous devez transmettre ces données au modèle par l'intermédiaire de votre$scope
, en tant que tel:JS:
HTML:
Pour de plus amples informations, veuillez visiter: https://docs.angularjs.org/api/ng/directive/ngRepeat
Vous avez probablement votre contrôleur sur le mauvais attribut de là, sauf si vous voulez un nouveau contrôleur pour chaque élément du tableau.
La deuxième question, "
response.text
retourne un tableau à partir du contrôleur." Est-ce que le tableau que vous voulez répéter?Et puis la troisième question, quelle est la valeur de la
ng-repeat
attribut censé être: c'est censé être la valeur d'un tableau valide sur votre$scope
ouviewModel
. Donc,response.text
serait un élément valide à mettre sur leng-repeat
puisque c'est un tableau. Comme je l'ai ci-dessus, vous avez maintenant uneitem
objet pour chaque élément dereponse.text
. Si c'est aussi loin que vous voulez aller, vous pouvez simplement imprimer{{item}}
-- siitem
a des propriétés, vous pourriez faire quelque chose comme, par exemple,{{item.someProperty}}