Я хочу, чтобы каждый объект под каждой датой находился в категории расходов, в базе данных Firebase.Angularfire2 - Извлечение всех значений в объекте без ссылки на ключ родительского объекта?
В Firebase:
- expenses
- food
- 07-11-2016 //"I want every object in here"
+ -KX7Aju4_G6i6pcNoBzj
На мой взгляд, я пытался:
<div *ngFor="let date of food | async">
<ion-item-divider sticky>
{{date.$key}}
</ion-item-divider>
<div *ngFor="let item of date"> //This don't seem to work
<ion-item>
<h3>{{item.title}}</h3>
<p>
{{item.amount}} Kr —
kl. {{item.time}}
</p>
</ion-item>
</div>
</div>
FIREBASE WARNING: Exception was thrown by user callback. Error: Cannot find a differ supporting object '[object Object]' of type 'object'. NgFor only supports binding to Iterables such as Arrays.
Очевидно, что это дает мне дату, как объект, а не массив.
Я также попытался получить значения в JSON, но повторение объекта JSON с помощью * ngFor (без асинхронного канала) также дает мне множество проблем.
/* Returns a Firebase list object as a JSON object */
getAsJSON(firebaseList: any){
firebaseList
.map(obj => obj.map(obj => {
return obj;
}));
}
Я пытаюсь выполнить итерацию объекта списка объектов огня «еда».
this.food = af.database.list('/expenses/food');
ИЛИ
this.food_json = getAsJSON(this.food);
Я прочитал и перепробовал кучу, но я не могу показаться, чтобы найти правильное решение.
Для вас второй ngFor вам нужно преобразовать объект в массиве, используйте трубу для этого. Хороший ответ здесь: http://stackoverflow.com/questions/35647365/how-to-display-json-object-using-ngfor/35647396#35647396 – Yevgen
Спасибо, @Yevgen заглянет к нему. –