从角度ng重复中隐藏最后2条记录
Hide last 2 records from angular ng-repeat
我有一个带有ng-repeat属性的表,该属性填充来自WS的数据,我隐藏了最后一条记录,因为我不需要ng-hide="$last"。现在WS有一个更新,我需要隐藏最后2条记录,但我不知道该怎么做。
我有这样的东西。
<table>
<tr ng-repeat="d in exportData.result" ng-hide="$last">
...code....
</tr>
</table>
对此有任何帮助。
替换
d in exportData.result
自:
d in (exportData.result.slice(0, exportData.result.length-2))
另一种方法是在控制器中执行相同的操作。
为什么不在ngRepeat上使用Angular的limitTo
过滤器呢?
<tr ng-repeat="d in exportData.result | limitTo:quantity">
然后在控制器中更新数量以反映新的所需值
$scope.quantity = $scope.exportData.result.length - 2;
我会从ng-repeat
调用一个函数:
<table>
<tr ng-repeat="d in getTruncatedArray()">
...code....
</tr>
</table>
在控制器中:
$scope.getTruncatedArray = function() {
return exportData.result.slice(0, exportData.result.length - 2));
}
解释
我建议您调用一个方法,而不是直接在HTML中编写"过滤器"。调用方法将保持HTML干净,并使"过滤器"易于更新/修改。
彼此肮脏的方式:)
<tr ng-repeat="d in exportData.result track by $index" ng-show="$index < exportData.result.length -2">
...code....
</tr>
不要忘记ng-show/hide创建dom元素,它只玩css可见性,过滤你的数组,@nashter建议避免这种行为。
参见小提琴
<div ng-controller="MyCtrl">
<div ng-repeat="line in lines">
<div class="preview" ng-hide="((lines.length-2)==$index)||($index==$last)">{{$index}} </div>
</div>
相关文章:
- 在每个固定高度段落的最后一行添加省略号,并隐藏溢出 y
- 引导程序转盘隐藏第一个和最后一个控件
- Ace编辑器通过垂直滚动条隐藏最后的相扑
- jQuery"加载更多的帖子”;隐藏按钮如果最后一个帖子
- 如何隐藏除最后一列之外的数据网格列
- 从角度ng重复中隐藏最后2条记录
- 到达最后一个元素时隐藏下一步按钮
- 删除/隐藏链接后最后一次出现的字符串
- jQuery:隐藏按钮,直到选择最后一个下拉列表
- 如果有超过 3 个孩子,则隐藏最后一个孩子
- 如何根据最后选择的选项(单选按钮)使用 javascript 隐藏表单输入
- BX滑块滑块滑块最后一张幻灯片总是隐藏某些部分
- 如何使用jQuery隐藏表中具有特定类的最后一行
- 如何隐藏传说中的所有年份,除了剑道图Mvc中的最后一年
- 在magento管理面板中隐藏信用卡号的最后4位数字
- 检查最后一行,不删除它也隐藏按钮
- 圆滑的旋转木马隐藏最后一张幻灯片期间调整大小,圆滑的goto不工作如预期
- Jquery只隐藏最后通知
- 如何隐藏导航的左和右基于第一个和最后一个
- (HTML / JS)添加“,“在第二个最后一个字串和隐藏"&"如果字符串中有一个单词