小编use*_*741的帖子

使用AngularFire从Firebase中选择随机记录

有没有办法从firebase获取随机记录,如下所示:

{
  "-JbmopNnshefBT2nS2S7" : {
    "dislike" : 0,
    "like" : 0,
    "post" : "First post."
  },
  "-JbmoudijnJjDBSXNQ8_" : {
    "dislike" : 0,
    "like" : 0,
    "post" : "Second post."
  }
}
Run Code Online (Sandbox Code Playgroud)

我使用此代码来解决问题,但它下载了所有记录,因此如果DB更大,我的应用程序将非常慢:

HTML代码:

    <div ng-controller="RandomCtrl">{{RandomPost.post}}</div>
Run Code Online (Sandbox Code Playgroud)

JS代码:

var app=angular.module('App', ['firebase']);

app.controller('RandomCtrl', function($scope, $firebase){
    var ref = new Firebase("https://ind.firebaseio.com/");
    var sync=$firebase(ref);

    $scope.messages = sync.$asArray();

    $scope.GetRandomPost=function(){
        return $scope.RandomPost=$scope.messages[Math.floor(Math.random()*$scope.messages.length)];
    };

    $scope.GetRandomPost();    

});
Run Code Online (Sandbox Code Playgroud)

database angularjs firebase angularfire

7
推荐指数
1
解决办法
2271
查看次数

标签 统计

angularfire ×1

angularjs ×1

database ×1

firebase ×1