如果我不想直接指派我的收藏品,那该怎么办:
$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
服务是否存在回调方法?
答案 0 :(得分:1)
是的,有explicit binding的文档:
angularFireCollection采用可选的第二个参数 - 从服务器加载初始数据时将调用的回调。回调将以Firebase snapshot作为唯一参数提供。
所以你可以在回调中调用另一个函数,它将直接迭代$scope.items
以加载$scope.allTags
数组,或者像现在这样做,但是使用快照(例如使用{{ 3}}功能)。
答案 1 :(得分:0)
使用.val()
作为回调返回的对象的扩展名,以访问它的值。
$scope.items = angularFireCollection(ref, function(i){
console.log(i.val());
});