2013-09-23 6 views
9

Ich habe ngView mit drei ngIncluded Ansichten: Suchfilter, Produkte, Seitennummerierung. Ich mag:Schaltfläche Zurück beim reloadOnSearch: false

  1. Filterprodukte ohne ganze Seite neu zu laden nur Produkte zu sehen
  2. Filter auf die URL zB hinzuzufügen. ?category=shoes
  3. Lage sein, wieder und nächste Schaltflächen

I reloadOnSearch: false in $routeProvier.when Set zu verwenden. Jetzt, wenn ich $location.search() aufrufen Funktion ändert sich, aber die Seite wird nicht neu geladen. Das wollte ich erreichen, aber wenn ich auf den Zurück-Button klicke, wird das Produkt nicht in den vorherigen Zustand zurückgeladen. Das einzige, was passiert, ist eine Änderung der URL. Die Frage ist, wie kann ich in dieser Situation die Back- und Next-Button-Events behandeln?

Antwort

11

Wenn SieOnSearch erneut laden: false, wird die gleiche Instanz des Controllers verwendet, und bei jeder Rückübertragung wird kein Controller oder eine zugehörige Ansicht neu geladen. Sie müssen auf das Ereignis $routeUpdate reagieren, das in solchen Szenarien ausgelöst wird. Siehe hierzu $ route .

$scope.$on('$routeUpdate',function(e) { 
    // Code to handle the route change. 
}); 
0

Sie müssen alles manuell handhaben. Das bedeutet, dass Sie, wenn Sie die Zurück- oder die Nächste-Taste drücken, zu dem Zustand zurückkehren müssen, in dem Sie den $ -Standort verwenden.