ng-Tabelle Sortierung funktioniert nicht

8

Ich habe eine Anwendung mit ng-table erstellt, die Anwendung funktioniert gut, die Tabelle mit ng-table erzeugt hatte. Das Problem, mit dem ich konfrontiert bin, ist, dass die Tischsortierung nicht funktioniert. Mein Code ist wie folgt

Arbeitsdemo

html

%Vor%

Skript

%Vor%     
Alex Man 07.10.2014, 13:39
quelle

3 Antworten

18
%Vor%

erstellt ein neues sortiertes Array, ändert aber nicht $scope.myValues .

Also setzen Sie $scope.myValues jedes Mal auf das sortierte Array:

%Vor%

Oder verwenden Sie $data in ng-repeat anstelle von myValues :

%Vor%     
manji 07.10.2014, 14:15
quelle
4

In Ihrem HTML müssen Sie die myValues ​​als $ Daten aktualisieren.

%Vor%

Plunker

    
BatteryAcid 07.10.2014 14:14
quelle
3

Sie schreiben in $scope.myValues und verwenden das in der Direktive ng-repeat - aber Sie sortieren die Daten nur in getData() für das Objekt tables params.

getData() ändert niemals $scope.myValues , es verwendet es nur, um ein sortiertes Array zurückzugeben. Was Sie wirklich tun möchten, ist:

  • Stellen Sie nicht den vollständigen Datensatz für den Bereich bereit, sondern speichern Sie ihn in einer Variablen im Controller:

var data = [{name: "Moroni", age: 50}, ...]

$defer.resolve($filter('orderBy')(data, params.orderBy()));

  • Verwenden Sie $data innerhalb des HTML-Codes, da auf getData() :
  • zugegriffen wird

<tr ng-repeat="user in $data">

    
yerforkferchips 07.10.2014 14:15
quelle