Angularjs 使用Angularfire访问嵌套数据

Angularjs 使用Angularfire访问嵌套数据,angularjs,firebase,angularfire,Angularjs,Firebase,Angularfire,我试图捕获对Firebase数据中嵌套数组的更改。数据的布局如下所示: 呼叫 (唯一Firebase ID) 电台:“Foobar” 时间:“20:30” 响应者 (唯一Firebase ID) 姓名:“弗兰克” 阿凡达:“foo.jpg” (唯一Firebase ID) 姓名:“玛莎” 阿凡达:“bar.jpg” 我需要跟踪何时更改呼叫以及何时添加或删除应答者。我正在努力跟踪一个呼叫的应答者——我不会提前获得随机ID,所以我需要实时跟踪每个呼叫的呼叫和应答者的变化

我试图捕获对Firebase数据中嵌套数组的更改。数据的布局如下所示:

  • 呼叫
    • (唯一Firebase ID)
      • 电台:“Foobar”
      • 时间:“20:30”
        • 响应者
          • (唯一Firebase ID)
            • 姓名:“弗兰克”
            • 阿凡达:“foo.jpg”
          • (唯一Firebase ID)
            • 姓名:“玛莎”
            • 阿凡达:“bar.jpg”
我需要跟踪何时更改呼叫以及何时添加或删除应答者。我正在努力跟踪一个呼叫的应答者——我不会提前获得随机ID,所以我需要实时跟踪每个呼叫的呼叫和应答者的变化

这是我到目前为止所拥有的。缺少一些与路径和获取JWT相关的代码-

var ref = new Firebase('https://foobar.firebaseio.com/clients/' + clientAuth);
var callRef = ref.child('calls');
$scope.activeCalls = 0;
$scope.calls = $firebase(callRef);
$scope.calls.$on("change", function() {
            var keys = $scope.calls.$getIndex();
            $scope.activeCalls = keys.length;
            keys.forEach(function(key, i) {
                console.log($scope.calls[key].responders);
              // This provides an object with array of responders
            });
});
更新

我记得是从正规的消防基地添加的孩子。。我想到了这个。一个更雄辩的方式将被赞赏,我正试图保持这更角度的基础

$scope.calls.$on("child_added", function(v) {
            console.log(v.snapshot.value); // This gives me the details I need
        });

我真的不明白你在这里的目标。您创建的$firebase对象将自动将所有更改同步到响应程序。你要求的是一种更雄辩的方式,但我很难理解什么比“自动”更雄辩。我认为一些上下文可能会有所帮助;这看起来有点像一个。还有,退房;通常,您希望在分布式数据中避免这些问题。我需要知道何时在调用中添加或删除响应程序,然后根据响应程序的属性修改DOM中的元素。例如,将其列表更改为可用于该通话。我还需要知道那个呼叫中有哪些响应者。另外,我想我已经清楚地说明了问题所在——当响应者对象从那个呼叫中添加或删除时,很难获得它的属性。当我列出(随机ID)时,我实际上指的是唯一的ID,由Firebase在推送数据时分配。我仍在试图找到解决方案。任何帮助都将不胜感激。提取嵌套数据应该不会这么困难。