Angularjs 如何双向绑定父节点并查找它';使用angularFire创建子主数据

Angularjs 如何双向绑定父节点并查找它';使用angularFire创建子主数据,angularjs,firebase,angularfire,Angularjs,Firebase,Angularfire,资料 有了以上数据,我可以使用 $folder=$firebase(fbRef.child('folders').child('/id123'))以保持数据同步 由于新的angularFire($firebase)只使用1个参数(ref),如何使用回调来获取authorizedUsers键,并在users节点中检索相关的主数据 下面是我在没有$firebase的情况下使用的方法,但我不知道如何将纯firebase api与$firebase结合使用 { folders: { id123:

资料

有了以上数据,我可以使用

$folder=$firebase(fbRef.child('folders').child('/id123'))
以保持数据同步

由于新的angularFire($firebase)只使用1个参数(ref),如何使用回调来获取
authorizedUsers键
,并在
users
节点中检索相关的主数据

下面是我在没有$firebase的情况下使用的方法,但我不知道如何将纯firebase api与$firebase结合使用

{
 folders: {
  id123: {
   authorizedUsers: {
    u123: true,
    u456: true
   }
  }
 },
 users: {
  u123: { name: 'David' },
  u456: { name: 'Ali' }
 }
}
您可以使用.$on('loaded')事件来确定数据何时加载,然后创建一个新的$firebase引用来获取其他记录。例如:

$scope.authorizedUsers = [];
fbRef.child('folders/').child($routeParams.folderID).on('child_added', function(ss) {
  fbRef.child('users/').child(childSnapshot.name()).once('value',function(user) {
    $timeout(function() {
      $scope.authorizedUsers.push(user.val());
      console.log($scope.authorizedUsers);
    });
  });
});

$on loaded在使用$location切换时不重新加载数据。如何应对?
var folder = $firebase(fbRef.child('folder').child('id123'));
folder.$on('loaded', function(data) {
  var users = data['authorizedUsers'];
  for (var user in users) {
    $firebase(fbRef.child('users').child(user)).$on('loaded', function(userData) {
      $scope.authorizedUsers.push(userData);
    });
  }
});