以相反顺序打印列表或在第一个之前放置新项目

Ste*_*zzi 1 angularjs firebase angularfire

我从AngularJS和Firebase开始.我正在寻找在顶部的列表(托管在Firebase中)中插入新项目的方法,或者在顶部打印列表的最后一项.来自Angular的过滤器'orderBy'对我不起作用,因为它是一个列表.

我插入项目的实际代码:

var ref = new Firebase("https://[here is my instance].firebaseio.com/");
$scope.lineas = [];
angularFire(ref, $scope, "lineas");
$scope.agregarLinea = function() {
   $scope.lineas.push({texto: $scope.linea});
   $scope.linea = "";
};
Run Code Online (Sandbox Code Playgroud)

并列出项目:

<ul class='lineas'>
    <li ng-repeat="linea in lineas">
        <span>{{linea.texto}}</span>
    </li>
</ul>
Run Code Online (Sandbox Code Playgroud)

预先感谢您的帮助.

Jef*_*lse 6

当你在angularfire中使用隐式数据绑定时,它返回一个对象,该对象不能在angularBy的angularBy中使用.您可以使用angularFireCollection.

var ref = new Firebase("https://[here is my instance].firebaseio.com/");
$scope.lineas = [];
$scope.lineas = angularFireCollection(ref);
$scope.agregarLinea = function() {
   $scope.lineas.add({texto: $scope.linea});
   $scope.linea = "";
};
Run Code Online (Sandbox Code Playgroud)

firebase生成的id基于日期,因此可用于排序:

<ul class='lineas'>
    <li ng-repeat="linea in lineas | orderBy:'-$id'">
        <span>{{linea.$id}} - {{linea.texto}}</span>
    </li>
</ul>
Run Code Online (Sandbox Code Playgroud)