我正在尝试获取返回的firebaseArray记录的密钥,但我没有运气。
我有一个运行以下内容的服务来返回商店
getStore: function(uid, id){
var ref = firebase.database().ref('u/'+uid+'/stores/'+id+'/i/');
// to take an action after the data loads, use the $loaded() promise
return $firebaseArray(ref);
}
我通过调用服务
使用以下内容来获取eeach记录for(var i = 0; i < $scope.storesList.length; i++){
var storeInfo = Stores.getStore($rootScope.user['uid'], $scope.storesList[i]['$id']);
storeInfo.$loaded().then(function(data){
$scope.stores.push(data);
console.log($scope.stores);
});
}
在我的html中,我可以访问数组中的各种属性
<li ng-repeat="store in stores">
<span class="store-address">{{store.$getRecord('name').$value}}</span>
<span class="store-address">{{store.$getRecord('address1').$value}}</span>
</li>
但我似乎无法从ng-repeat
中获取每个商店记录的ID答案 0 :(得分:1)
要获取ID,只需在项目上调用$ id即可。
<li ng-repeat="store in stores">
<span class="store-address">{{store.$getRecord('name').$value}}</span>
<span class="store-address">{{store.$getRecord('address1').$value}}</span>
<span class="store-address">{{store.$id}}</span>
</li>
请参阅:https://github.com/firebase/angularfire/blob/master/docs/reference.md#firebasearray
答案 1 :(得分:0)
尝试这个简单的代码,而不是让自己变得复杂!
var ref = new Firebase(url);
ref.once("value", function(list) {
var subData = list.val();
var subDataKey = list.key();
console.log(subDataKey);
这必须帮助你!
答案 2 :(得分:0)
我通过从firebaseArray切换到包含$ id参数
的firebaseObject来解决这个问题