我想知道在处理ng-repeat时是否有办法确定索引。
例如,我只希望第一个和第二个索引具有以下的锚标记:
<tbody>
<tr ng-repeat="row in rows | orderBy:sort.type:sort.reverse | filter:searchData">
<!-- only want to make the index 0 and 1 have an anchor -->
<td ng-repeat="column in cols"><a href="#">{{row[column]}}</a></td>
</tr>
</tbody>
我认为需要以下内容,但我无法弄清楚(或找到)正确的语法:
<!-- if index == 0 or 1, show anchor -->
<td ng-repeat="column in cols" ng-if="row[$index] <2"><a href="#">{{row[column]}}</a></td>
<!-- else, if index >= 2, don't show anchor -->
<td ng-repeat="column in cols" ng-if="row[$index] >=2">{{row[column]}}</td>
这是一个基本示例的小提琴:https://jsfiddle.net/zp2cqxqb/
感谢您对此提供任何帮助!
答案 0 :(得分:2)
您对$ index本身感兴趣,而不是您正在检查的行[$ index]值。
作为奖励,如果您使用另一个内联元素(例如span)作为非锚定值,则可以避免双重重复语句:
<tr ng-repeat="row in rows | orderBy:sort.type:sort.reverse | filter:searchData">
<!-- only want to make the index 0 and 1 have an anchor -->
<td ng-repeat="column in cols">
<a ng-if="$index < 2" href="#">{{row[column]}}</a>
<span ng-if="$index >= 2">{{row[column]}}</span>
</td>
</tr>