我想跳过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中工作。
感谢。
答案 0 :(得分:77)
<ul class="highlight-topright">
<li ng-repeat="item in hpHeadlines" ng-if="$index > 0">
...
</li>
</ul>
答案 1 :(得分:31)
首先使用$ :
<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>
答案 2 :(得分:13)
您还可以使用limitTo过滤器。
作为负索引,begin表示从输入结束的偏移量。默认为0。
<li ng-repeat="item in hpHeadlines | limitTo: 1 - hpHeadlines.length">
...
</li>
答案 3 :(得分:2)
也许我迟到了回答这个问题。但就新手而言,我正在提供解决方案。由于您想跳过第一条记录,因此您可以使用$ index或$ first来实现,如下所示:
<li ng-repeat="item in hpHeadlines" ng-if="$index"> OR
<li ng-repeat="item in hpHeadlines" ng-if="!($first)">
正如您所看到的,在两者中,ng-if正在跳过&#39; 0&#39;值。
答案 4 :(得分:0)
您可以使用ng-show
或ng-if
而不将其用作过滤器。它更容易,因为您知道要跳过的索引。
通常在您想要执行与所有阵列相关的操作时使用过滤器,例如格式化,或者您不知道它们驻留在哪里的部分。
<ul class="highlight-topright">
<li ng-repeat="item in hpHeadlines" ng-show="$index != 0">
{{item.name}}
</li>
</ul>
答案 5 :(得分:0)
您可以使用ng-show,如下所示:
<ul class="highlight-topright">
<li ng-repeat="item in hpHeadlines" ng-show="$index > 0">
...
</li>
</ul>
或者您可以使用 ng-if 指令,以防您不想添加不可见的dom元素。