391 Stimmen

Nach mehreren Feldern in Angular sortieren

Wie sortiere ich in Angular gleichzeitig nach mehreren Feldern? zuerst 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 möchte dies anzeigen als

Gruppe : Untergruppe

1 - 1

1 - 2

1 - 20

2 - 1

2 - 10

2 - 11

681voto

Chubby Boy Punkte 30892

Bitte siehe dies:

http://jsfiddle.net/JSWorld/Hp4W7/32/

{{division.group}}-{{division.sub}}

50voto

Muhammad Raza Dar Punkte 521

Wenn Sie im Controller nach mehreren Feldern sortieren möchten, verwenden Sie dies

$filter('orderBy')($scope.property_list, ['firstProp', 'secondProp']);

Siehe auch https://docs.angularjs.org/api/ng/filter/orderBy

21voto

Thambuleena Punkte 253
Benutzer-Array anstelle von mehrfachem orderBY

7voto

Alireza Punkte 92209

Es gibt 2 Möglichkeiten, AngularJs-Filter zu verwenden, eine im HTML mit {{}} und eine in tatsächlichen JS-Dateien ...

Sie können Ihr Problem lösen, indem Sie verwenden:

{{ Ausdruck | orderBy : Ausdruck : umgekehrt}}

wenn Sie es im HTML verwenden oder etwas ähnliches verwenden:

$filter('orderBy')(IhrArray, IhrAusdruck, umgekehrt)

Das Umkehren ist am Ende optional, es akzeptiert einen booleschen Wert und wenn es wahr ist, wird das Array für Sie umgekehrt, eine sehr praktische Möglichkeit, Ihr Array umzukehren ...

7voto

Tessy Thomas Punkte 1475

Sortieren kann in Angular mit dem 'orderBy'-Filter durchgeführt werden.

Zwei Möglichkeiten: 1. Aus der Ansicht 2. Aus dem Controller

  1. Aus der Ansicht

Syntax:

{{array | orderBy : expression : reverse}} 

Zum Beispiel:

 {{user.name}}
  1. Aus dem Controller

Syntax:

$filter.orderBy(array, expression, reverse);

Zum Beispiel:

$scope.filteredArray = $filter.orderBy($scope.users, ['name', 'age'], true);

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X