angularFireCollection回调FireBase

时间:2013-11-12 22:53:22

标签: javascript angularjs firebase angularfire

如果我不想直接指派我的收藏品,那该怎么办:

$scope.items = angularFireCollection(ref);

因为收到后我需要在回调中访问该对象:

angularFireCollection(ref, function(items) {
  angular.forEach(items, function(item){
    angular.forEach(item.tags, function(tag){
      $scope.allTags.push(tag);
    });    
  });
  $scope.items = items;
});

angularFireCollection服务是否存在回调方法?

2 个答案:

答案 0 :(得分:1)

是的,有explicit binding的文档:

  

angularFireCollection采用可选的第二个参数 - 从服务器加载初始数据时将调用的回调。回调将以Firebase snapshot作为唯一参数提供。

所以你可以在回调中调用另一个函数,它将直接迭代$scope.items以加载$scope.allTags数组,或者像现在这样做,但是使用快照(例如使用{{ 3}}功能)。

答案 1 :(得分:0)

http://jsfiddle.net/3WcWu/1/

使用.val()作为回调返回的对象的扩展名,以访问它的值。

$scope.items = angularFireCollection(ref, function(i){
    console.log(i.val());
});