当页面加载时,用户会看到一组产品,然后如果他/她单击一个按钮,则会获取更多产品并将其附加到列表中。我正在尝试找到一种 Angular 方法来放置一行以将已加载的产品与最近附加的产品分开。我不想直接操作 DOM,也不能将空行推送到产品数组,因为数组的长度在其他地方使用。
我怎么能这样做?
当页面加载时,用户会看到一组产品,然后如果他/她单击一个按钮,则会获取更多产品并将其附加到列表中。我正在尝试找到一种 Angular 方法来放置一行以将已加载的产品与最近附加的产品分开。我不想直接操作 DOM,也不能将空行推送到产品数组,因为数组的长度在其他地方使用。
我怎么能这样做?
如果您不想在最后一项之后使用分隔线,只需使用:
<... ng-repeat="...">
<hr ng-show="!$last" />
...
</...>
我认为您需要自己在另一个 $scope (array) 属性中跟踪这一点。在您的 ng-repeat 循环中,检查 $index 是否在此数组中。如果是这样,添加/显示 <hr>。
<... ng-repeat="...">
<span ng-show="showHr($index)"><hr></span>
...
</...>
true
当您想要显示 <hr> 时,函数 showHr() 应该返回。
你也可以使用 ng-switch 代替 ng-show。