Ответ 1
Я думаю, что все, что вам нужно, это:
<div ng-repeat="(name, item) in items">
<a href="" ng-href="#/items/{{name}}">{{item.text}}</a>
</div>
Объект anglularFire ведет себя как обычный объект javascript.
У меня есть список объектов из 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>
Я думаю, что все, что вам нужно, это:
<div ng-repeat="(name, item) in items">
<a href="" ng-href="#/items/{{name}}">{{item.text}}</a>
</div>
Объект anglularFire ведет себя как обычный объект javascript.
Чтобы получить уникальный идентификатор, созданный с помощью метода $angulefire $add, вы можете использовать свойство $id:
<div ng-repeat="item in items" >
<a href="" ng-href="#/items/{{item.$id}}">{{item.text}}</a>
</div>