我将如何隐藏 ng-repeat 的第一个元素?
<div ng-repeat="item in items" ng-hide="true">
<div>{{ item.value }}</div>
</div>
这适用于整个 ng-repeat 块被隐藏,但我将如何只隐藏项目中的第一项?我想使用更突出的 html/etc 以完全不同的方式显示它,因此将它放在该数据列表中很有用。
我将如何隐藏 ng-repeat 的第一个元素?
<div ng-repeat="item in items" ng-hide="true">
<div>{{ item.value }}</div>
</div>
这适用于整个 ng-repeat 块被隐藏,但我将如何只隐藏项目中的第一项?我想使用更突出的 html/etc 以完全不同的方式显示它,因此将它放在该数据列表中很有用。
你可以这样做
<div ng-repeat="item in items" ng-show="!$first">
<div>{{ item.value }}</div>
</div>
无需隐藏,只需使用过滤器从列表中排除第一项即可:
<div ng-repeat="item in items|filter:$index>0">
<div>{{ item.value }}</div>
</div>
在 Angular 的更新版本中有一个更简单的解决方案。
过滤器“limitTo”现在支持“开始”参数(文档):
{{ limitTo_expression | limitTo : limit : begin}}
所以你可以在 ng-repeat 中像这样使用它:
ng-repeat="item in items | limitTo: items.length : 1"
这意味着 ng-repeat 将从索引 1 开始(而不是默认索引 0),并将持续到 items 数组的其余长度(小于 items.length,但 limitTo 会处理得很好)。
如果您需要跳过最后一个,请使用 ng-if='!$last'。