Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从$firebaseArray获取引用以创建新的引用对象_Firebase_Angularfire - Fatal编程技术网

从$firebaseArray获取引用以创建新的引用对象

从$firebaseArray获取引用以创建新的引用对象,firebase,angularfire,Firebase,Angularfire,与之相关,我需要能够从集合中获取一个元素作为Firebase引用,即给定一个$firebaseArray我需要一个$firebaseObject指向它的一个元素。与该示例不同,我不能只是硬编码数组的路径,然后从那里获取一个子元素,因为数组的位置会有所不同。我不能使用$firebaseArray.$getRecord()或我的ng repeat后面跟着array.$save()提供的对象,因为我可能需要在此元素上执行push() 所以我决定采用这种可重用的方法: 在服务中: function se

与之相关,我需要能够从集合中获取一个元素作为Firebase引用,即给定一个
$firebaseArray
我需要一个
$firebaseObject
指向它的一个元素。与该示例不同,我不能只是硬编码数组的路径,然后从那里获取一个子元素,因为数组的位置会有所不同。我不能使用
$firebaseArray.$getRecord()
或我的
ng repeat
后面跟着
array.$save()
提供的对象,因为我可能需要在此元素上执行
push()

所以我决定采用这种可重用的方法:

在服务中:

function selectElement(array, element) {
  var obj = $firebaseObject(array.$ref().child(element.$id));
  return obj;
}
在控制器中:

function onItemClicked(e) {
  vm.selected = dataservice.selectElement(vm.observations, e);
}
在模板中:

<div class="list-item" ng-repeat="o in vm.observations" ng-click="vm.onItemClicked(o)">

这就是创建阵列时的外观。这里发生了什么,我如何使用这个引用?有没有其他方法可以从数组中获取工作的Firebase对象?

请您再解释一下:“我不能使用$firebaseArray。$getRecord()或我的ng repeat提供的对象后跟array。$save(),因为我可能需要在此元素上执行push()。”这两种机制都会返回该位置的原始数据对象。我需要得到它的参考,这样我就可以把孩子们推向它。更具体地说,数据库中不同位置的记录(我以数组的形式获取)可能包含作为子项的注释列表。
Y {k: Ji, path: P, n: Ce, pc: true}