Firebase 和 AngularJS,如何从 firebaseArray 检索值

Firebase and AngularJS, How to retrieve a value from a firebaseArray

看起来很简单。但我做不到。 我只想在我的控制器中获取我的 Firebase 数据库的值。 Firebase 数据库是这样的:

users {
    30549545 {
        name: "Marcelo"
        lastName: "Forclaz"
        years: 24
    }
}

在我的控制器中,我写了以下代码:

app.controller('usersCtrl', function($scope, $firebaseArray) {
    var ref = firebase.database().ref('users');
    $scope.userdata = $firebaseArray(ref);
});

在 HTML 代码的 ngRepeat 中,迭代工作正常。但是我需要在我的控制器中获取 "years" 值才能将其用于另一个命令,“我该怎么做?我尝试了几种不同的方法,但没有得到想要的结果。我意识到从 Firebase width AngularJS 中检索数据并不比使 width 简单而纯粹 JavaScript.

容易

您必须等到用户数据加载:

app.controller('usersCtrl', function($scope, $firebaseArray) {
var ref = firebase.database().ref('users');
$scope.userdata = $firebaseArray(ref);
$scope.userdata.$loaded()
    .then(function(){
        console.log($scope.userdata);
    });
});

终于搞定了!

$scope.userdata.$ref().once('value', function(snap) {
    angular.forEach(snap.val(), function(index)) {
        console.log(index.years)
    }
}