反转ng-repeat命令,迭代angelfire数组

时间:2015-02-27 08:13:11

标签: javascript angularjs-ng-repeat firebase

成为Angular和Firebase的新手,自然AngleFire给我带来了麻烦。我使用ng-repeat迭代同步数组,我想颠倒它显示的顺序。我试过了#39; |反向'以及它的变体,在FireBase一侧对数组进行排序,并将数组复制到一个仅本地的数组然后反转它;在这一点上,我记得的事情还不止。

JS将数据添加到数组

ctrl.go = function() {
  console.log(ctrl.localArray);
  ctrl.localArray.$add(
    {
      name: ctrl.name,
      content: ctrl.content,
      time: new Date().getTime(),
    }
  );
  console.log(ctrl.localArray);

HTML w / ng-repeat

  <span ng-repeat="localArray in ctrl.localArray">
        {{localArray.content}}<br>
        <p class="right">- {{localArray.name}} at {{localArray.time | date : "MMM d, h:mm a"}}</p>
  </span>

需要做些什么才能使ng-repeat显示与其相反?

解决方案:

<span ng-repeat="localArray in ctrl.localArray.reverse()">

1 个答案:

答案 0 :(得分:3)

您可以直接在模板中使用Array.prototype.reverse方法:

<span ng-repeat="localArray in ctrl.localArray.reverse()">
    {{localArray.content}}<br>
    <p class="right">- {{localArray.name}} at {{localArray.time | date : "MMM d, h:mm a"}}</p>
</span>

或者您可以在将数组传递给HTML之前在控制器中执行此操作。