使用angularFire隐式同步访问ng-repeat中的Firebase唯一ID

时间:2013-10-10 23:55:23

标签: angularjs firebase angularfire

我使用angularFire隐式数据同步来自Firebase的对象列表,我想使用ng-repeat呈现其唯一ID(用于网址)以及其他数据属性。我是否可以angularFireng-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>

2 个答案:

答案 0 :(得分:24)

我认为你所需要的只是:

<div ng-repeat="(name, item) in items">
  <a href="" ng-href="#/items/{{name}}">{{item.text}}</a>
</div>

anglularFire对象的行为就像普通的javascript对象一样。

答案 1 :(得分:7)

要获取通过angularfire $ add方法创建的唯一ID,您可以使用$ id属性:

<div ng-repeat="item in items" >
  <a href="" ng-href="#/items/{{item.$id}}">{{item.text}}</a>
</div>