Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to loop through $firebaseArray

I created an array of users like so -

var ref = new Firebase(FIREBASE_URL + '/users');
var users = $firebaseArray(ref);

I have added objects to this and I want to loop through each of the users in this array. I know this is possible in the view using ng-repeat, but I need to do it in the controller. I have tried -

angular.forEach(users, function(user) {
    console.log(user);
})

But I get no result from this.

like image 511
Ire Aderinokun Avatar asked May 05 '15 19:05

Ire Aderinokun


2 Answers

Users probably isn't loaded by then, so you'll need to wait for it:

var ref = new Firebase(FIREBASE_URL + '/users');
var users = $firebaseArray(ref);

users.$loaded()
    .then(function(){
        angular.forEach(users, function(user) {
            console.log(user);
        })
    });

Here's the docs on it: https://www.firebase.com/docs/web/libraries/angular/guide/intro-to-angularfire.html#section-async-intro

like image 75
Mathew Berg Avatar answered Nov 18 '22 18:11

Mathew Berg


var fbref = new Firebase(FIREBASE_URL + '/customers');
customers = $firebaseArray(fbref);

customers.$loaded()
.then(function(data){
    angular.forEach(data, function(value, key) {
        console.log('key='+key+', value='+value);
    })
});
like image 21
CodecPM Avatar answered Nov 18 '22 20:11

CodecPM