ng-repeat 只显示最后一个元素
ng-repeat show only last element
我正在为 AngularJs 的邮件开发收件箱,我遇到了一个问题:我只想显示 ng-repeat
中的最后一个元素。我做了一些研究,发现下面的代码应该可以工作。
<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>
然而,事实并非如此。你们能告诉我我做错了什么吗?我认为 array.length-1
应该限制 ng-repeat 只显示数组中的最后一个对象。
谢谢!
您可以将 limitTo
过滤器与 -1
一起使用
示例:
<div ng-repeat="friend in friends | limitTo: -1">
{{friend.name}}
</div>
但是如果你只显示一个元素,也许你想去掉 ng-repeat
... :
<div>
{{friends[friends.length - 1].name}}
</div>
在 ng-repeat
中使用 angularjs $last
。这里是 the doc
<div ng-repeat="n in data track by $index">
<span ng-show="$last">{{n}}</span>
</div>
<span ng-show="$last">{{n}}</span>
当它的最后一个重复 $last
将是 true
否则它是 false
所以你可以使用 ng-show
或 ng-if
和 $last
.
这是一个sample demo
更新
我认为不需要 ng-repeat 因为你需要显示数组的最后一个元素(这与@Michael P. Bazos 的回答相同),要做到这一点:
$scope.data = [42, 42, 43, 43, 50];
print the last value as : {{ data[data.length-1] }}
这里是 demo
但是如果你真的需要用 ng-repeat 做这个
[data[data.length-1]]
创建一个仅包含最后一个元素的数组。
<div ng-repeat="n in [data[data.length-1]] track by $index">
<span>{{n}}</span>
</div>
像这样的东西应该有用。
<div ng-repeat="something in vm.somethings">
<span ng-show="$last">{{ something.value }}</span>
</div>
我正在为 AngularJs 的邮件开发收件箱,我遇到了一个问题:我只想显示 ng-repeat
中的最后一个元素。我做了一些研究,发现下面的代码应该可以工作。
<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>
然而,事实并非如此。你们能告诉我我做错了什么吗?我认为 array.length-1
应该限制 ng-repeat 只显示数组中的最后一个对象。
谢谢!
您可以将 limitTo
过滤器与 -1
示例:
<div ng-repeat="friend in friends | limitTo: -1">
{{friend.name}}
</div>
但是如果你只显示一个元素,也许你想去掉 ng-repeat
... :
<div>
{{friends[friends.length - 1].name}}
</div>
在 ng-repeat
中使用 angularjs $last
。这里是 the doc
<div ng-repeat="n in data track by $index">
<span ng-show="$last">{{n}}</span>
</div>
<span ng-show="$last">{{n}}</span>
当它的最后一个重复 $last
将是 true
否则它是 false
所以你可以使用 ng-show
或 ng-if
和 $last
.
这是一个sample demo
更新 我认为不需要 ng-repeat 因为你需要显示数组的最后一个元素(这与@Michael P. Bazos 的回答相同),要做到这一点:
$scope.data = [42, 42, 43, 43, 50];
print the last value as : {{ data[data.length-1] }}
这里是 demo
但是如果你真的需要用 ng-repeat 做这个
[data[data.length-1]]
创建一个仅包含最后一个元素的数组。
<div ng-repeat="n in [data[data.length-1]] track by $index">
<span>{{n}}</span>
</div>
像这样的东西应该有用。
<div ng-repeat="something in vm.somethings">
<span ng-show="$last">{{ something.value }}</span>
</div>