I am developing inbox for messages with AngularJs, and I came across one issue: I want to show only last element within ng-repeat. I did some research, and found ou
use angularjs $last in ng-repeat. here is the doc
<div ng-repeat="n in data track by $index">
<span ng-show="$last">{{n}}</span>
</div>
<span ng-show="$last">{{n}}</span> when its last repeat $last will be true otherwise its false so you can use ng-show or ng-if with $last.
here is a sample demo
UPDATE I think no need of ng-repeat there since you need to show the last element of the array (this is same as @Michael P. Bazos's answer), to do that:
$scope.data = [42, 42, 43, 43, 50];
print the last value as : {{ data[data.length-1] }}
here is the demo
but if you really need to do with ng-repeat do as this
[data[data.length-1]] create an array only with last element.
<div ng-repeat="n in [data[data.length-1]] track by $index">
<span>{{n}}</span>
</div>
demo
Something like this should work.
<div ng-repeat="something in vm.somethings">
<span ng-show="$last">{{ something.value }}</span>
</div>
You could use limitTo filter with -1
Example :
<div ng-repeat="friend in friends | limitTo: -1">
{{friend.name}}
</div>
See fiddle
But if you are showing only one element, maybe you want to get rid of the ng-repeat... :
<div>
{{friends[friends.length - 1].name}}
</div>