如何使用angularFireCollection初始加载回调?

时间:2013-09-26 09:06:26

标签: javascript angularjs angularfire

我一直在尝试在我的角度服务中正确处理与Firebase的显式同步。我使用angularFireCollection和初始加载回调函数(我需要根据第一个查询返回的数据预加载其他数据)。但是,我不知道如何在回调函数中访问获取的数据:

getGroupIds: function() {

var deferred = $q.defer();
var ref = new Firebase('https://<XXX>.firebaseio.com/groups');
angularFireCollection(ref, function(groups) {

    console.log(groups); 

    deferred.resolve(groups);
});

return deferred.promise;
}

在上面的例子中,如何从组对象中访问实际数据?d 提前感谢任何提示。

2 个答案:

答案 0 :(得分:2)

Firebase快照作为回调函数的参数提供,您可以按如下方式从中提取值:

angularFireCollection(ref, function(snapshot) {
  console.log(snapshot.name() + " has value " + snapshot.val());
});

答案 1 :(得分:0)

通常,我将集合设置为范围,但其中任何一个似乎都有效。

var groups = angularFireCollection(ref, function() {
    console.log(groups);     
});

或在控制器中

$scope.groups = angularFireCollection(ref, function() {
    console.log($scope.groups );     
});