Ich bin neu in Angular und ich versuche immer noch, um meinen Kopf herum, was möglich ist, so kann dies eine Frage mit einer offensichtlichen Antwort sein, aber ich kann keine relevanten Antworten finden online.Vermeiden Sie Angular.js orderBy Standardsortierung
Ich habe eine switch statement
, die entscheidet, welcher Wert an orderBy
zurückgegeben wird, und orderBy
Ordnet korrekt eine Liste von Objekten entsprechend dem zurückgegebenen Wert. Ich möchte jedoch den default
Fall meiner switch statement
sicherstellen, dass orderBy
nichts in der Reihenfolge der Liste der Objekte tut.
Es scheint jedoch, dass orderBy
Standard-Funktionalität hat, die die Liste einen eigenen Weg bestellt, wenn Sie es keinen Wert geben.
Ich habe verschiedene Wege versucht, es an die Arbeit:
default: return;
kehrt nichts und orderBy
verwendet seine Standardreihenfolge.
default:break;
kehrt nichts und orderBy
verwendet seine Standard Bestellung
default: return [];
und return ['']
Ich dachte, ein leeres Array als Argument erkannt werden würde und dies umgehen, aber es nutzt noch die Standard-Bestellung.
default: return [':false'];
Ich dachte, die Übergabe eines Wertes in (reverse: false) würde die Standardreihenfolge überschreiben, aber ich bekomme einen Fehler dafür.
Ich habe es auch eingerichtet, orderBy: $index track by $index
zu verwenden - ich dachte, es würde nur nach dem ursprünglichen Index des Arrays bestellen. Das hat nicht funktioniert.
Kennt jemand ein Argument, das ich in
orderBy
passieren kann, um es gar nichts zu einer Liste zu tun zu bekommen, oder wie kann ich die Standard-Sortierung außer Kraft setzen.
Sie müssen explizit gesetzt Ihr Prädikat 'null'. Alle anderen Szenarien, die Sie vorgestellt haben, wären entweder fehlerhaft oder würden den Standard von '+' auslösen. – Claies
nicht durch orderBy ist die Antwort - 'ng-repeat =" x in (willToOrder? (Array | orderBy): Array) "' – YOU
@YOU, das für mich arbeitete, vielen Dank. Wenn Sie Ihren Kommentar zu einer Antwort machen wollen, kann ich sie akzeptieren. – AnonyMouse