一尘不染

反向角度重复

javascript

我怎样才能得到一个角度反向阵列?我正在尝试使用orderBy过滤器,但它需要一个谓词(例如’name’)进行排序:

<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>

阅读 331

收藏
2020-05-01

共1个答案

一尘不染

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

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

然后可以这样使用:

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

该过滤器可以根据需要定制,以适应您的需求。我在演示中提供了其他示例。一些选项包括在执行反向操作之前检查变量是否为数组,或者使其更宽容以允许反向处理更多内容,例如字符串。

2020-05-01