我有这个对象数组:
我想获得$ id和$ id.name值。
var CitiesFactory = function(){
var ref = new Firebase("https://starmeteo.firebaseio.com/");
return ref.child('cities');
}
我试过console.log($firebaseArray(CitiesFactory).$indexFor('bucuresti'));
它返回-1(未找到)
我也试过了$getRecord
并得到了同样的东西。
答案 0 :(得分:0)
使用AngularFire同步要绑定到AngularJS视图的Firebase中的数据。你现在的工厂:
$scope.cities = $firebaseArray(CitiesFactory());
<ul>
<li ng-repeat='(id, city) in cities'>{{city.Name}} - {{id}}</li>
</ol>
对于您未对视图进行约束的大多数情况,您通常更好地直接使用Firebase JavaScript SDK。
使用后者,你可以做你想做的事情:
CitiesFactory().on('value', function(citiesSnapshot) {
citiesSnapshot.forEach(function(citySnapshot) {
console.log(citySnapshot.key, citySnapshot.val().name);
});
});
这将打印所有城市密钥(AngularFire显示为$id
的内容)以及添加,更改或删除城市时的所有名称。