4

当页面加载时,用户会看到一组产品,然后如果他/她单击一个按钮,则会获取更多产品并将其附加到列表中。我正在尝试找到一种 Angular 方法来放置一行以将已加载的产品与最近附加的产品分开。我不想直接操作 DOM,也不能将空行推送到产品数组,因为数组的长度在其他地方使用。

我怎么能这样做?

这是一个基本的 Bin

4

2 回答 2

13

如果您不想在最后一项之后使用分隔线,只需使用:

<... ng-repeat="...">
   <hr ng-show="!$last" />
   ...
</...>

如果重复元素在迭代器中是最后一个,则 $last 为真。

于 2014-06-05T15:22:51.643 回答
1

我认为您需要自己在另一个 $scope (array) 属性中跟踪这一点。在您的 ng-repeat 循环中,检查 $index 是否在此数组中。如果是这样,添加/显示 <hr>。

<... ng-repeat="...">
   <span ng-show="showHr($index)"><hr></span>
   ...
</...>

true当您想要显示 <hr> 时,函数 showHr() 应该返回。

你也可以使用 ng-switch 代替 ng-show。

于 2013-02-07T20:54:16.733 回答