跳过ng-repeat中的第一项
我想跳过ng-repeat中的第一个项目
..first item here <ul class="highlight-topright"> <li ng-repeat="item in hpHeadlines | filter:$index>0"> ... </li> </ul>
它不工作,这里有什么不对吗?
我明白,我可以使用ng-if,ng-show来隐藏东西,但我不明白为什么在这种情况下,1.3.x中的filter不起作用。
谢谢。
<ul class="highlight-topright"> <li ng-repeat="item in hpHeadlines" ng-if="$index > 0"> ... </li> </ul>
使用$首先为此 :
<ul class="highlight-topright"> <li ng-repeat="item in hpHeadlines" ng-hide="$first"> ... </li> </ul>
要么,
<ul class="highlight-topright"> <li ng-repeat="item in hpHeadlines" ng-if="!$first"> ... </li> </ul>
您也可以使用limitTofilter。
作为负指数,开始指示从input结束的偏移量。 默认为0。
<li ng-repeat="item in hpHeadlines | limitTo: 1 - hpHeadlines.length"> ... </li>
也许我迟到了回答这个问题。 但只是为了新手,我提供的解决scheme。 由于您想跳过第一条logging,所以您可以使用$ index或$ first来实现,如下所示:
<li ng-repeat="item in hpHeadlines" ng-if="$index"> OR <li ng-repeat="item in hpHeadlines" ng-if="!($first)">
正如你所看到的,在两者中,ng-if跳过了“0”值。
ng-if
不使用它作为filter,你可以使用ng-show
或者ng-if
。 这很容易,因为你知道你想跳过的索引。
当你想做一些涉及所有数组的事情时,通常使用filter,例如格式化或者你不知道它们驻留在哪里的部分。
<ul class="highlight-topright"> <li ng-repeat="item in hpHeadlines" ng-show="$index != 0"> {{item.name}} </li> </ul>
JS小提琴
你可以用ng-show代替,就像这样:
<ul class="highlight-topright"> <li ng-repeat="item in hpHeadlines" ng-show="$index > 0"> ... </li> </ul>
或者你可以使用ng-if指令,以防你不想添加不可见的dom元素。