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)
}
}
看起来很简单。但我做不到。 我只想在我的控制器中获取我的 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)
}
}