/ / Angular ng-repeat. Eine geschachtelte Wiederholung ausführen - Javascript, Angularjs

Angulare ng-Wiederholung. Eine verschachtelte Wiederholung machen - javascript, angularjs

Neu bei eckig! Also zwei Datensätze. Eine mit Mahlzeiten, eine mit Einträgen. Jede Mahlzeit kann mehrere Einträge haben, aber jeder Eintrag bezieht sich nur auf eine Mahlzeit.

In meinen Daten hat die Mahlzeitentabelle eine ID, und in der Eingabetabelle gibt es einen Verweis auf die Mahlzeitenkennung mit einer meal_id-Eigenschaft.

Mahlzeit:

{
id: 4,
user_id: 3,
date: 12345678,
name: "soFood",
location: "Litchfield, CT",
rating: 1,
notes: "This is a note here",
image: "http://www.image.com"
},

Eintrag:

{
id: 3,
meal_id: 4,
name: "Fet UP",
rating: 0,
notes: null,
image: "http://not.anote.here"
}

Im Moment kann ich die Mahlzeiten wiederholen. Ich möchte in der Lage sein, die Eingaben für eine einzelne Mahlzeit eindeutig zu wiederholen.

Wenn Sie also eine Liste der Mahlzeiten anzeigen möchten, klicken Sie auf eine und eine Liste der eindeutigen Einträge wird angezeigt.

Ich weiß, dass ich die meal_id irgendwie abrufen muss, um sie mit der ID der Mahlzeiten zu vergleichen, aber ich bin mir nicht sicher, wie ich ng-repeat verwenden soll, wenn ich das tue?

Antworten:

0 für die Antwort № 1

Sie werden zuerst die aktuelle Mahlzeit auf eine Variable in Ihrer oberen ng-Wiederholung auswirken, d.h. ng-repeat="meal in meals". Diese aktuelle Mahlzeit ist im Rahmen der ng-repeat-Richtlinie bekannt. Sie können es verwenden, um ein Eingabearray zu filtern und das Ergebnis in einer inneren ng-Wiederholung zu verwenden:

<li ng-repeat="meal in meals">
<div ng-repeat="entry in (entries | filter : {"meal_id": meal.id})">
</div>
</li>