使用Angularfire访问嵌套数据

时间:2014-06-20 19:44:45

标签: angularjs firebase angularfire

我正在尝试捕获Firebase数据中嵌套数组的更改。数据的布局如下:

  • 调用
    • (唯一的Firebase ID)
      • 站:" Foobar"
      • 时间:" 20:30"
        • 应答者
          • (唯一的Firebase ID)
            • 姓名:" Frank"
            • 阿凡达:" foo.jpg"
          • (唯一的Firebase ID)
            • 姓名:" Martha"
            • 阿凡达:" 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
            });
});

更新

我记得来自常规Firebase的child_added ..想出了这个。一个更有说服力的方式将被赞赏,我试图保持这更加基于Angular。

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

0 个答案:

没有答案