反转 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 之前在控制器中执行此操作。
作为 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 之前在控制器中执行此操作。