Доступ к уникальным идентификаторам Firebase в ng-repeat с использованием неявной синхронизации angularFire

У меня есть список объектов из Firebase, используя синхронизацию неявных данных angularFire, и я хотел бы отображать их уникальные идентификаторы (для использования в URL-адресах) вместе с другими свойствами данных с помощью ng-repeat. Могу ли я вернуть angularFire таким образом, что у меня есть доступ к идентификаторам объектов внутри ng-repeat, так же, как члены 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>

Объект anglularFire ведет себя как обычный объект javascript.

Ответ 2

Чтобы получить уникальный идентификатор, созданный с помощью метода $angulefire $add, вы можете использовать свойство $id:

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