使用ng-repeat解析时,如何仅在第一项上打印某些内容?

时间:2019-07-05 07:29:37

标签: html angularjs

所以我有一个ng-repeat,正在通过数组propRentDetail进行解析。它打印出一些带有属性名称及其租金的div。 我还使用了orderBy : '-trent',因此它首先显示了租金最高且下降的房产。现在,我有一个来自fontAwesome的向上箭头图标,我试图仅通过第一个属性div(即租金最高的那个)来显示该图标。那我怎么只显示第一个项目呢?

<div ng-repeat = "summ in propRentDetail | orderBy: '-trent'">
    <p>{{ summ.propname }}</p>
    <p>{{ summ.proprent }}</p>
</div>

3 个答案:

答案 0 :(得分:3)

像这样使用$first

<div ng-repeat = "summ in propRentDetail | orderBy: '-trent'">
    <div ng-if="$first">icon</div>
    <p>{{ summ.propname }}</p>
    <p>{{ summ.proprent }}</p>
</div>

答案 1 :(得分:3)

ng-repeat有许多可以使用的隐藏道具,例如$ first,$ last,$ odd,$ index。 请参考此链接-https://embed.plnkr.co/plunk/EbNrXC

这是使用这些道具的一个很好的例子。

答案 2 :(得分:2)

ng-repeat内,AngularJS公开了一个名为$first的变量,其值为boolean类型,它表示该项目是否在列表中的第一位。

<div ng-repeat = "summ in propRentDetail | orderBy: '-trent'">
    <i class="fa fa-arrow" ng-if="$first"></i>
    <p>{{ summ.propname }}</p>
    <p>{{ summ.proprent }}</p>
</div>

如果需要,您也可以使用$index

<div ng-repeat = "summ in propRentDetail | orderBy: '-trent'">
    <i class="fa fa-arrow" ng-if="$index === 0"></i>
    <p>{{ summ.propname }}</p>
    <p>{{ summ.proprent }}</p>
</div>

ng-repeat中可用的其他变量:

  • $last
  • $even
  • $odd