小编典典

角度 ng-repeat 反向

all

我怎样才能获得角度的反转数组?我正在尝试使用 orderBy 过滤器,但它需要一个谓词(例如“名称”)来排序:

<tr ng-repeat="friend in friends | orderBy:'name':true">
      <td>{{friend.name}}</td>
      <td>{{friend.phone}}</td>
      <td>{{friend.age}}</td>
<tr>

有没有办法在不排序的情况下反转原始数组。像那样:

<tr ng-repeat="friend in friends | orderBy:'':true">
      <td>{{friend.name}}</td>
      <td>{{friend.phone}}</td>
      <td>{{friend.age}}</td>
<tr>

阅读 57

收藏
2022-06-06

共1个答案

小编典典

我建议使用这样的自定义过滤器:

app.filter('reverse', function() {
  return function(items) {
    return items.slice().reverse();
  };
});

然后可以像这样使用:

<div ng-repeat="friend in friends | reverse">{{friend.name}}</div>

在这里看到它的工作:Plunker
Demonstration


该过滤器可以根据您的需要进行定制。我在演示中提供了其他示例。一些选项包括在执行反转之前检查变量是否为数组,或者更宽松地允许反转更多的东西,例如字符串。

2022-06-06