Firebase和AngularJS,如何从firebaseArray检索值
这似乎很简单。但我做不到。 我只想在控制器中获取Firebase DB的值。 Firebase数据库如下所示:Firebase和AngularJS,如何从firebaseArray检索值,angularjs,firebase,firebase-realtime-database,data-retrieval,Angularjs,Firebase,Firebase Realtime Database,Data Retrieval,这似乎很简单。但我做不到。 我只想在控制器中获取Firebase DB的值。 Firebase数据库如下所示: users { 30549545 { name: "Marcelo" lastName: "Forclaz" years: 24 } } 在我的控制器中,我编写了以下代码: app.controller('usersCtrl', function($scope, $firebaseArray) { var ref
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代码的重复中,迭代工作得很好。但是我需要在我的控制器中获得“年”值才能将其用于另一个命令,我如何才能做到?我试过几种不同的方法,但没有达到预期的效果。我意识到,从Firebase width AngularJS检索数据并不像让它变得简单和纯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)
}
}
好啊但是,现在如何获得“年”值?我编写了您的代码,控制台日志返回了包含引用数据的整个对象。我只需要他多年的价值。我尝试了console.log($scope.data.years),但返回的是未定义的。