【发布时间】:2015-12-11 17:24:25
【问题描述】:
如果 ID 不在第一级,我如何在嵌套的 ng-repeat 中获取具有自动唯一 ID 的孩子的数据?
我的 firebase 数据集的结构是这样的(注意:我不知道该数据集中用户、日期或唯一 ID 的数量或价值):
John:[
10-12-2015: {
"-JcFXid1A2G8EM7A_kwc": {
"description" : "hi",
"timestamp": "1449751857810"},
"-JcFZP5FNtL4Yj6nja_7": {
"description" : "this",
"timestamp": "144975185345"},
},
11-12-2015: {
"-JcFtGoZL7J-CCIjTYcL": {
"description" : "is",
"timestamp": "14497518513715"},
"-JcFXid1A2G8EM7A_kwc": {
"description" : "me",
"timestamp": "1449751846956"},
},
]
Thomas: [ ... ]
我的 HTML 代码是:
<ion-list>
<ul class="list">
<li ng-repeat="day in list">
<ion-item class="item-divider">{{day.$id}}</ion-item>
// That works as my output is "10-12-2015, etc"
<li ng-repeat="key in day">
// This does not work
<ion-item>{{key.description}}</ion-item>
</li>
</li>
</ul>
</ion-list>
我是 Firebase 和 Angular 的新手,所以如果我遗漏了一些明显的东西,我深表歉意。我也知道 Firebase 建议使用扁平层次结构,但按用户和日期对其进行排序对于我需要做的数据分析很重要。但我愿意接受建议。
仅供参考 - 我的控制器如下所示:
.controller('summaryCtrl', ['$scope','$state','$firebase','$firebaseArray','SessionData', '$ionicPopup', function($scope,$state,$firebase,$firebaseArray,SessionData,$ionicPopup){
var firebaseObj = new Firebase("https://id.firebaseio.com/" + userid);
var fbArray = $firebaseArray(firebaseObj);
fbArray.$loaded()
.then(function(){
$scope.list = fbArray;
})
}])
谢谢。
【问题讨论】:
-
它不起作用,因为在
- 中,day 不是一个数组,它是一个对象。尝试在一天中做类似 ng-repeat="(key, value) 的事情">
-
@cesarandavisa 嗯,我认为由于 day 是数组 list 的一部分,它本身就是一个数组。关于如何将 day 更改为数组的任何其他想法?如果我这样实施,您的建议将不起作用。
标签: angularjs ionic-framework firebase