AngularJS verschachtelte ng-wiederholt in einer Tabelle
Ich habe einen laden der Daten für die Verfügbarkeit von Benutzern, indem Sie Stunde für mehrere Tage in der form:
availData = { "date1":arrayOfUsers, "date2":arrayOfUsers, ... }
arrayOfUsers= [ userArray, userArray, ... ]
userArray= [ "username", "h0", "h1", "h2", ... "h23" ]
Habe ich arrayOfUsers
in dieser form, so kann ich Sortieren nach "h0".."h23" Werte.
Das alles funktioniert gut für einen Blick, aber will ich jetzt mit den gleichen Daten, und erstellen Sie eine Tabelle, die die folgenden für einen ausgewählten "username":
date1 h0 h1 h2 ... h23
date2 h0 h1 h2 ... h23
...
Bisher kann ich tun das das funktioniert:
<!-- rows of avail data... -->
<tr ng-repeat="(aDay,aUsers) in allAvailData track by $index">
<td >{{aDay}}</td>
<td ng-repeat="aUser in aUsers" ng-show="aUser[0]=='YR005'" >
<span ng-repeat="hour in aUser track by $index" ng-show="!$first">{{hour}}
</span>
</td>
</tr>
geben eine 2-Spalten-Tabelle Zeile: "date" "h0h1h2h3h4"
Aber was ich wirklich will, ist separate Einträge... die funktioniert nicht:
<!-- rows of avail data... -->
<tr ng-repeat="(aDay,aUsers) in allAvailData track by $index">
<td >{{aDay}}</td>
<span ng-repeat="aUser in aUsers" ng-show="aUser[0]=='YR005'" >
<td ng-repeat="hour in aUser track by $index" ng-show="!$first">{{hour}}</td>
</span>
</tr>
Habe ich nicht mit angular sehr lange und ich würde gerne wissen, ob diese Art der Sache möglich ist und nicht nur die Umstrukturierung der Daten in ein anderes array.
Fragen sind:
- Warum der Versuch bei Schachtelung ng-repeat nicht funktioniert?
- kann ich das nest ng-repeat in einer anderen Art und Weise ?
- bin ich nähert sich diese alle falsch ?
- Haben Sie betrachten die Kombination
availData
,arrayOfUsers
unduserArray
in einer Datenstruktur? - Sie alle sind in einer Daten - Struktur, meinst du damit ausrichten es?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sollte es funktionieren, wenn Sie etwas tun, wie
Implementieren
getSelectedUser
Methode gibt ein einzelnes Element aus einerarrayofusers
basierend auf Ihren filter-Logik.