使用 angularFire 隐式同步在 ng-repeat 中访问 Firebase 唯一 ID
Posted
技术标签:
【中文标题】使用 angularFire 隐式同步在 ng-repeat 中访问 Firebase 唯一 ID【英文标题】:Access Firebase unique ids within ng-repeat using angularFire implicit sync 【发布时间】:2013-10-18 22:38:16 【问题描述】:我有一个使用 angularFire
隐式数据同步的 Firebase 对象列表,我想使用 ng-repeat
呈现它们的唯一 ID(用于 url)以及其他数据属性。我可以让angularFire
以我可以访问ng-repeat
中的对象ID 的方式返回,就像angularFireCollection
的成员拥有$id
属性一样吗?如果不是,那么实现此目的的正确方法是什么?假设代码(不起作用):
控制器:
myApp.controller('ItemListCtrl', ['$scope', 'angularFire',
function ItemListCtrl($scope, angularFire)
var ref = new Firebase(firebaseUrl);
angularFire(ref, $scope, 'items');
]);
查看:
<div ng-repeat="item in items" >
<a href="" ng-href="#/items/item.name()">item.text</a>
</div>
【问题讨论】:
【参考方案1】:我想你只需要:
<div ng-repeat="(name, item) in items">
<a href="" ng-href="#/items/name">item.text</a>
</div>
angularFire 对象的行为就像一个普通的 javascript 对象。
【讨论】:
啊啊啊啊啊啊啊!在我找到这个答案之前,我一直在为此苦苦挣扎。谢谢! 他们需要更好地记录这一点-_-【参考方案2】:要获取通过 angularfire $add 方法创建的唯一 ID,您可以使用 $id 属性:
<div ng-repeat="item in items" >
<a href="" ng-href="#/items/item.$id">item.text</a>
</div>
【讨论】:
这似乎不再起作用了。 bennlich 的回答确实有效。 对我来说反之亦然,本利希的方法不起作用,这个方法起作用。 :P 对我来说反之亦然:) .$id 成功了!特别是在firebaseArrays :)以上是关于使用 angularFire 隐式同步在 ng-repeat 中访问 Firebase 唯一 ID的主要内容,如果未能解决你的问题,请参考以下文章
在 AngularFire2 v4 中使用“firebase”
在 Firestore 中使用 AngularFire 列出文档的子集合