Ich habe Objekte wie folgt aus:Custom order orderBy Verwendung in ng-repeat
students = {name: 'Aa_Student', class: 'A_Class'},
{name: 'Ab_Student', class: 'A_Class'},
{name: 'Ac_Student', class: 'B_Class'},
{name: 'Ba_Student', class: 'B_Class'},
{name: 'Bb_Student', class: 'C_Class'},
{name: 'Bc_Student', class: 'C_Class'}
Sagen wir, die Schüler-Objekt neu gemischt wird. Ich benutze ng-repeat um die Daten anzuzeigen. Ich möchte die Objekte in der benutzerdefinierten Reihenfolge sortieren.
Zum Beispiel möchte ich die Daten so zeigen:
Name Class
-----------------------------
Ac_Student B_Class
Ba_Student B_Class
Aa_Student A_Class
Ab_Student A_Class
Bb_Student C_Class
Bc_Student C_Class
Also im Grunde, ich Student der Klasse bestellen möchten, aber es B_Class kommt zuerst, dann A_Class, dann C_Class. Außerdem möchte ich nach dem Namen der Schüler in alphabetischer Reihenfolge sortieren. Wie kann ich das machen?
HTML:
<table>
<tr ng-repeat="student in students | orderBy:customOrder">
...
</tr>
</table>
Controller:
$scope.customOrder = function(student) {
$scope.students = $filter('orderBy')(student, function() {
});
};
Es gibt zwei Möglichkeiten, dieses (1) Personalisierte Filter zu tun (2) Kurz Ihre Daten auf Controller-Ebene – dhavalcengg
@dhavalcengg Also muss ich Filter verwenden? –
Achten Sie auf den Tippfehler in '$ scope.studens' (fehlt ein t) – Gamb