反转 ng-repeat 顺序,遍历天使火阵

Reversing ng-repeat's order, iterating over anglefire array

作为 Angular 和 Firebase 的新手,AngleFire 自然给我带来了麻烦。我正在使用 ng-repeat 迭代同步数组,我想反转它显示的顺序。我试过'| reverse' 及其变体,在 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()">

您可以直接在模板中使用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 之前在控制器中执行此操作。