angularjs - ng repeat index by




Classe diferente para o último elemento em ng-repeat (4)

Eu estou criando uma lista usando ng-repeat algo como isto

  <div ng-repeat="file in files">
   {{file.name}}
   </div>

Mas para o último elemento, eu gostaria de ter uma classe ( <div class="last">test</div> ) incluída nela. Como posso conseguir isso usando ng-repeat?



A resposta dada por Fabian Perez funcionou para mim, com uma pequena mudança

O html editado está aqui:

<div ng-repeat="file in files" ng-class="!$last ? 'other' : 'class-for-last'"> {{file.name}} </div>


Você pode usar $last variable dentro ng-repeat diretiva ng-repeat . Dê uma olhada no doc .

Você pode fazer assim:

 <div ng-repeat="file in files" ng-class="computeCssClass($last)">
 {{file.name}}
 </div>

Onde computeCssClass é função do controller que leva o único argumento e retorna 'last' ou null .

Ou

  <div ng-repeat="file in files" ng-class="{'last':$last}">
  {{file.name}}
  </div>

Você pode usar o filtro limitTo com -1 para encontrar o último elemento

Exemplo :

<div ng-repeat="friend in friends | limitTo: -1">
    {{friend.name}}
</div>




angularjs