How to loop through $firebaseArray

后端 未结 3 955
醉话见心
醉话见心 2020-12-17 22:18

I created an array of users like so -

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

I have added obj

相关标签:
3条回答
  • 2020-12-17 22:36

    You can use the built-in $list attribute,
    e.g. The below function counts users,

    app.factory("Users", function($firebaseArray) {
      return $firebaseArray.$extend({             
        getUsers: function() {
          var user_count = 0;
          angular.forEach(this.$list, function(user) {
            user_count += 1;
            console.log(user);
          });
          return user_count;
        }
      });
    })
    

    and then to use it,

    var userList = new Users(ref);
    userList.$loaded().then(function() {
      userList.getUsers();
    });
    
    0 讨论(0)
  • 2020-12-17 22:37

    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

    0 讨论(0)
  • 2020-12-17 22:53
    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);
        })
    });
    
    0 讨论(0)
提交回复
热议问题