2016-05-22 3 views
0

Ich habe eine Sammlung, die ich mit ng-paginate :: "... tr dir-paginate =" - Element in data.gridData in der Ansicht anzeigen kann ... "Angular aktualisiert den Inhalt von ng-paginate nicht, wenn sich die Sammlung ändert

Ich gebe Benutzern die Möglichkeit, die Eigenschaften eines Elements (Elementstatus) mit einem Modal zu bearbeiten. Sobald ich den Status gespeichert habe, hole ich aktualisierte Rasterdaten vom Backend und binde wie folgt zurück: $ scope.getData = function (id) { applicationService.getData (id) .then ( Funktion (Daten) {

  $scope.data.gridData.length = 0; 
      data.data.forEach(function (item) { $scope.data.gridData.push(item) }); 
      $scope.$digest(); 
      $scope.$apply(); 

     }); 

Das Problem ist der Status ändert sich nicht für das aktualisierte Element. Ich habe sichergestellt, dass der korrekte Status gespeichert und dann aus der DB abgerufen wird. Ich habe alles versucht, was ich finden konnte, einschließlich, wie Sie sehen können, Sammlungslänge auf 0 setzen, Digest aufrufen, anwenden, etc. Nichts. Es ist wie die Daten "stecken geblieben". Es wird nur aktualisiert, wenn ich zur Seite/zurück navigiere. Hilfe!

Antwort

0

Verwenden Sie Track by.

<div ng-repeat="value in [4, 4] track by $index"></div>