AngularJS AngularFire Firebase无法迭代Firebase数据
我在AngularJS项目中使用AngularFire。在下面的HTML中,您可以看到我正在将AngularJS AngularFire Firebase无法迭代Firebase数据,angularjs,firebase,firebase-realtime-database,angularfire,Angularjs,Firebase,Firebase Realtime Database,Angularfire,我在AngularJS项目中使用AngularFire。在下面的HTML中,您可以看到我正在将quote项传递到控制器中的total_vots函数中 <div ng-repeat="quote in quotes" ng-init="total_votes(quote)"> {{quote.name}} </div> 这就是函数的外观 $scope.total_votes = function(itm) { con
quote
项传递到控制器中的total_vots
函数中
<div ng-repeat="quote in quotes" ng-init="total_votes(quote)">
{{quote.name}}
</div>
这就是函数的外观
$scope.total_votes = function(itm) {
console.log(itm.votes)
console.log(itm.votes)
console.log(itm.votes[0])
console.log(itm.votes.length)
};
这是印刷品
console.log(itm.vots)
console.log(itm.vots)
{“-KzFkQYHWKwbAPjIekWz”:“悲伤”,“KzLT76T14doKgYbjRc1”:“哇”}
console.log(itm.voces[0])
未定义
console.log(itm.voces.length)
未定义
如何迭代引用的投票?为什么长度没有定义?为什么我不能通过像
itm.voces[0]
这样的索引访问单个项目?请记住$firebaseObject()
和$firebaseArray()
是异步的。您必须等待数据通过网络下载。虽然这通常不需要很长时间,但仍然意味着它不会立即可用
由于AngularJS的脏检查系统,您可以看到数据出现在视图中。当数据可用时,Angular会自动填充视图,因为它知道$scope上的值
您可以使用ng repeat在视图中迭代数据
<div ng-repeat="item in items">
{{ item }}
</div>
或者,您可以使用路由器解析来使用$loaded承诺解析数据。这篇博客文章涵盖了这一点。哇,这是一种不同的看待它的方式。。。我将在视图中迭代并取消嵌套投票。
{
"quote": "untitled",
"recorded_by": "-KzFkQYHWKwbAPjIekWz",
"votes": {
"-KzFkQYHWKwbAPjIekWz": "sad",
"-KzLT76T14doKgYbjRc1": "wow"
},
"who": "null",
"$id": "-KzKz7EyCSPkPl0YDvfa",
"$priority": null,
"$$hashKey": "object:15"
}
<div ng-repeat="item in items">
{{ item }}
</div>
{
"quotes": {
"a": {
"name": "A"
}
},
"votes": {
"a": {
"count:" 11
}
}
}