【发布时间】:2016-12-14 14:29:09
【问题描述】:
我不想为 ng-repeat 的最后一个元素添加不同的类。
我有数据要显示:
$scope.sizes = [{name:XS,available:true},{name:S,available:true},{name:M,available:false},{name:L,available:true},{name:XL,available:false}];
我想显示包含 true 的数据范围,即将上面显示为“XS → L”(注意漏掉了 M 选项)。
我想到的最好的方法是使用 ng-repeat:
<span ng-repeat="size in sizes track by $index"
ng-init="sizeIndex = $index"
ng-show="size.available == true && (sizeIndex == 0 || sizeIndex == (sizes.length -1))">
{{size.short}}<span ng-show="sizeIndex ==0"> → </span>
</span>
正如预期的那样,这会失败,因为尺寸 XL 可用 == false,如果尺寸 XS 不可用,它将无法工作。
有没有我没想到的显示逻辑排列?或者是否有一种“正确”的方法来测试一个元素是否是列表中的最后一个(或第一个)显示?
【问题讨论】:
-
将
$last帮助您处理filter不要使用 ng-show 等过滤您的行
标签: javascript angularjs ionic-framework ng-repeat ng-show