Wie sortiere ich, indem ich mehrere Felder gleichzeitig im Winkel verwende? Faust nach Gruppe und dann nach Untergruppe zum Beispiel
$scope.divisions = [{'group':1,'sub':1}, {'group':2,'sub':10}, {'group':1,'sub':2},{'group':1,'sub':20},{'group':2,'sub':1},
{'group':2,'sub':11}];
Ich wollte dies als anzeigen
Gruppe: Untergruppe
1 - 1
1 - 2
1 - 20
2 - 1
2 - 10
2 - 11
<select ng-model="divs" ng-options="(d.group+' - '+d.sub) for d in divisions | orderBy:'group' | orderBy:'sub'" />
orderBy:['-group','sub']
zum Sortierengroup
in umgekehrter Reihenfolge.Wenn Sie nach mehreren Feldern innerhalb des Controllers sortieren möchten, verwenden Sie diese Option
Siehe auch https://docs.angularjs.org/api/ng/filter/orderBy
quelle
Benutzerarray statt mehrfacher orderBY
quelle
Die Sortierung kann mithilfe des Filters 'orderBy' im Winkel erfolgen.
Zwei Möglichkeiten: 1. Aus der Ansicht 2. Aus der Steuerung
Syntax:
Zum Beispiel:
Syntax:
Zum Beispiel:
quelle
Es gibt zwei Möglichkeiten, AngularJs-Filter auszuführen, eine im HTML-Code mit {{}} und eine in tatsächlichen JS-Dateien ...
Sie können Ihr Problem lösen, indem Sie:
Wenn Sie es im HTML verwenden oder etwas wie:
Die Umkehrung ist am Ende optional, sie akzeptiert einen Booleschen Wert und wenn dies zutrifft, wird das Array für Sie umgekehrt, eine sehr praktische Möglichkeit, Ihr Array umzukehren ...
quelle
Ich habe dieses praktische Stück geschrieben, um nach mehreren Spalten / Eigenschaften eines Objekts zu sortieren. Bei jedem aufeinanderfolgenden Spaltenklick speichert der Code die zuletzt angeklickte Spalte und fügt sie einer wachsenden Liste angeklickter Spaltenzeichenfolgennamen hinzu, wobei sie in einem Array namens sortArray platziert werden. Der integrierte Angular-Filter "orderBy" liest einfach die sortArray-Liste und ordnet die Spalten in der Reihenfolge der dort gespeicherten Spaltennamen. Der Name der zuletzt angeklickten Spalte wird also zum primär geordneten Filter, der vorherige zum vorrangigen Filter usw. Die umgekehrte Reihenfolge wirkt sich auf alle Spaltenreihenfolgen gleichzeitig aus und schaltet für den vollständigen Array-Listensatz aufsteigend / absteigend um:
quelle
Pipe zum Sortieren erstellt. Akzeptiert sowohl Zeichenfolgen als auch Array von Zeichenfolgen und sortiert nach mehreren Werten. Funktioniert für Angular (nicht AngularJS). Unterstützt sowohl das Sortieren nach Zeichenfolgen als auch nach Zahlen.
quelle
Stellen Sie sicher, dass die Sortierung für den Endbenutzer nicht zu kompliziert ist. Ich habe immer gedacht, dass das Sortieren nach Gruppen und Untergruppen etwas kompliziert zu verstehen ist. Wenn es sich um einen technischen Endbenutzer handelt, ist dies möglicherweise in Ordnung.
quelle