angularjs - auth - Acceda a los ID exclusivos de Firebase dentro de ng-repeat usando la sincronización implícita de angularFire
firebase auth angularjs (2)
Tengo una lista de objetos de Firebase usando la sincronización de datos implícita de angularFire
, y me gustaría angularFire
sus identificadores únicos (para usar en urls) junto con las otras propiedades de datos usando ng-repeat
. ¿Puedo hacer angularFire
retorno de angularFire
de tal manera que tenga acceso a los identificadores de objeto dentro de ng-repeat
, de la misma manera que los miembros de un angularFireCollection
tienen una propiedad $id
? Si no, ¿cuál es la forma correcta de lograr esto? Código hipotético (eso no funciona):
Controlador:
myApp.controller(''ItemListCtrl'', [''$scope'', ''angularFire'',
function ItemListCtrl($scope, angularFire) {
var ref = new Firebase(firebaseUrl);
angularFire(ref, $scope, ''items'');
}
]);
Ver:
<div ng-repeat="item in items" >
<a href="" ng-href="#/items/{{item.name()}}">{{item.text}}</a>
</div>
Creo que todo lo que necesitas es:
<div ng-repeat="(name, item) in items">
<a href="" ng-href="#/items/{{name}}">{{item.text}}</a>
</div>
El objeto anglularFire se comporta como un objeto javascript normal.
Para obtener la ID única que se crea mediante el método $ add de angularfire, puede usar la propiedad $ id:
<div ng-repeat="item in items" >
<a href="" ng-href="#/items/{{item.$id}}">{{item.text}}</a>
</div>