example array angularjs ng-repeat

angularjs - array - ng-repeat select



ng-repetir muestra solo el Ășltimo elemento (3)

Algo como esto debería funcionar.

<div ng-repeat="something in vm.somethings"> <span ng-show="$last">{{ something.value }}</span> </div>

Estoy desarrollando una bandeja de entrada para mensajes con AngularJs, y encontré un problema: quiero mostrar solo el último elemento dentro de ng-repeat . Investigué un poco y descubrí que el siguiente código debería funcionar.

<div class="inbox" ng-repeat="recipient in messages"> <ul> <div> <span> {{recipient.$id}} <br> </span> <li class="inboxItem"> <span ng-repeat="messages in recipient"> {{messages.sender}} {{messages.message}} <br></span> </li> </div> </ul> </div>

Sin embargo, no lo hace. ¿Pueden decirme qué estoy haciendo mal? Pensé que array.length-1 debería limitar ng-repeat para mostrar solo el último objeto en una matriz.

¡Gracias!


Podrías usar limitTo filtrar con -1

Ejemplo :

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

Ver fiddle

Pero si solo está mostrando un elemento, tal vez quiera deshacerse de la ng-repeat ...

<div> {{friends[friends.length - 1].name}} </div>


use angularjs $last en ng-repeat . aqui esta el doc

<div ng-repeat="n in data track by $index"> <span ng-show="$last">{{n}}</span> </div>

<span ng-show="$last">{{n}}</span> cuando su última repetición, $last , de lo contrario, sea false por lo que puede usar ng-show o ng-if con $last .

Aquí hay una muestra de muestra.

ACTUALIZACIÓN Creo que no hay necesidad de repetir ng allí, ya que necesita mostrar el último elemento de la matriz (esto es lo mismo que la respuesta de @Michael P. Bazos), para hacer eso:

$scope.data = [42, 42, 43, 43, 50]; print the last value as : {{ data[data.length-1] }}

aqui esta la demo

pero si realmente necesita hacer con ng-repetir, haga lo siguiente

[data[data.length-1]] crea una matriz solo con el último elemento.

<div ng-repeat="n in [data[data.length-1]] track by $index"> <span>{{n}}</span> </div>

demo