角火力点。按$ id搜索对象数组

时间:2016-04-26 11:48:47

标签: angularjs firebase angularfire

我有这个对象数组:

img

我想获得$ 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并得到了同样的东西。

1 个答案:

答案 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的内容)以及添加,更改或删除城市时的所有名称​​。