Comment affecter une autre classe de lignes dans Angular JS?
Je veux affecter une autre classe de lignes dans une table. Je suis à l'aide de ng-repeat sur
<tr ng-repeat="event in events">
Je veux obtenir une sortie comme ceci:
<tr class="odd">...</tr>
<tr class="event">....</tr>
J'ai essayé ceci (ne fonctionne pas):
<tr ng-repeat="event in events" class="$index % 2 == 0? 'event' : 'odd'">
Je ne peux pas le faire fonctionner. Aussi, il semble comme Angulaire est de l'utilisation de 'classe' attribut. Pourquoi est-il de le faire? Puis-je dire AngularJS ne pas utiliser l'attribut class pour les évaluations internes?
S'il vous plaît aider. Merci!
- Cela peut ne pas être une réponse directe à votre question, mais jetez un oeil à CSS pairs et impairs, les règles. Si vous pouvez utiliser ces, vous n'avez pas besoin d'utiliser des classes.
- Merci! Mais n'a pas de réponse à ma question(s). 🙂 Merci, de toute façon.
- Si vous allez construire à partir d'une table, vous voudrez peut-être consulter angular-ui.github.com/ng-grid C'est un plein de fonctionnalités angularjs grille, nous avons travaillé sur le dernier mois.
Vous devez vous connecter pour publier un commentaire.
Vous devriez être en utilisant l'angle de directives ngClassEven et ngClassOdd pour cela.
Ont un coup d'oeil à la section de la documentation pour savoir comment les utiliser
http://docs.angularjs.org/api/ng.directive:ngClassEven
http://docs.angularjs.org/api/ng.directive:ngClassOdd
Espère que cette aide.
ng-class="['even', 'odd'][$index %2]"
,class="{{['even', 'odd'][$index %2]}}"
De l'angle de docs..
Utilisation ng-classe-impair ng-classe-même
Comme @ganaraj états ng-classe-impair et ng-classe-même sont la bonne façon de le faire, mais pour le bénéfice des chercheurs, votre proposition initiale n'étais pas très loin de travail Angulaire >=1.2.19.
Ici est étroitement lié exemple de quelque chose qui aurait fonctionné et fonctionne également si la coloration de plus que celui des autres lignes (par exemple tous les 3 lignes):
Vous pouvez également utiliser le
ng-class-odd
etng-class-even
directives directement à l'intérieur de lang-repeat
directive.Qui nous donne belle alternance de classes pour chaque ligne:
Cet exemple est tiré de la page suivante, qui illustre également comment transformer les données JSON dans un match amical, sensible Maître de la page d'Affichage de:
Maître-Vues en utilisant AngularJS
L'amélioration de Fintan Kearney réponse,
À partir de: https://docs.angularjs.org/api/ng/directive/ngClassOdd
Style.css
index.html