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