如何使用 angularFireCollection 初始加载回调

How to use angularFireCollection initial load callback?

本文关键字:加载 回调 何使用 angularFireCollection      更新时间:2023-09-26

我一直在尝试在我的角度服务中正确处理与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;
}

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

Firebase 快照作为回传函数的参数提供,您可以从中提取值,如下所示:

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

通常,我将集合设置为范围,但这两种方法似乎都有效。

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

或在控制器中

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