Ich habe eine ng-repeat
-Liste, die zu einer Detailseite führt (die eine Zurück-Schaltfläche hat). Die Variable $scope.items
wird von einer get-Anfrage geladen, die beim ersten Laden der Seite mit meiner Funktion refreshItems()
auftritt.
Wenn Sie auf der Detailseite auf die Zurück-Schaltfläche klicken, werden Sie zur richtigen Seite zurückgeleitet, aber die Liste wird nicht aktualisiert. Ich brauche diese Liste zu aktualisieren, damit die neuen Elemente geladen und angezeigt werden.
Ich dachte, ich könnte einfach die Zurück-Schaltfläche an eine ng-click
-Funktion anschließen, die ionicHistory
verwendet, um zurückzugehen, und dann meine refreshItems()
-Funktion aufrufen; Dies lädt die Elemente auf der ersten Seite jedoch nicht neu.
Der obige Versuch geht auf die letzte Seite zurück und löst die Funktion refreshItems()
aus (und die neuen Daten werden geladen, was ich dank% co_de sehen kann % Statements), aber ich vermute, dass das ng-repeat neu erstellt werden muss. Ich habe einige Informationen zu console.log()
sowie $scope.$apply()
gefunden, aber keine von beiden hat das Problem behoben, als ich sie am Ende meiner Funktion $route.reload()
platziert habe.
controller.js
%Vor%Hauptseite HTML
%Vor%Zurück auf der Detailseite
%Vor% Ich habe eine goBack()
auf der Hauptseite, die refresher
aufruft - und aktualisiert sie korrekt. Das Problem ist ganz sicher, wenn ich versuche, die Aktualisierung entweder mit refreshItems()
oder $ionicHistory.goBack()
zu paaren. Gibt es eine Möglichkeit, den Refresher (nach / beim Laden) programmgesteuert aufzurufen, da das direkte Aufrufen der Funktion, die Refresher aufruft, nicht funktioniert?
Alle ionischen Ansichten sind zwischengespeichert ; Verhindern Sie das Zwischenspeichern wie folgt:
%Vor%Zum Beispiel:
%Vor%Sie können ein Ereignis auch von der Detailseite aus senden und auf dieses Ereignis im Auflistungscontroller warten.
Tags und Links angularjs ionic-framework angularjs-ng-repeat ionic angularjs-routing