我正在寻找一种用表达式进行ng-repeat的方法。这是我现在拥有的。
<tr ng-cloak id="{{$index}}"
ng-repeat-start="item in currentContoller.items |
orderBy: '-time'">
<td>item.a</td>
<td>item.b</td>
</tr>
我正在寻找的是这样的,其中firstItemOnly是一个复选框
<tr ng-cloak id="{{$index}}"
ng-repeat-start="item in currentContoller.items |
orderBy: '-time' |
if ({{firstItemOnly}}) {limitTo: 1}"> //this is the line that needs added
<td>item.a</td>
<td>item.b</td>
</tr>
答案 0 :(得分:0)
解决这样的问题的关键是在盒子外面思考。而不是尝试在 ng-repeat
中使用表达式,而是向集合本身添加一个表达式:
// create a function that returns the relevant collection of items
$scope.getItems = function() {
// if first item only, return the first item
if (this.firstItemOnly)
{
return this.items.slice(0, 1);
}
// otherwise, return all items
return this.items;
};
...
<tr ng-cloak id="{{$index}}"
ng-repeat-start="item in getItems() | orderBy: '-time'">
答案 1 :(得分:0)
尝试使用$ first?
https://docs.angularjs.org/api/ng/directive/ngRepeat
使用ng-if和$ first并显示一个复选框。 bob =阿姨:)