Ich habe ein Problem beim Ändern der URL der Seite, nachdem ein Formular gesendet wurde.
Hier ist der Ablauf meiner App:
- Routen werden festgelegt, URL wird zu einer Formularseite erkannt.
- Seiten wird geladen, Controller setzt Variablen, Direktiven werden ausgelöst.
- Es wird eine spezielle Formularanweisung ausgelöst, die eine spezielle Formularübermittlung mit AJAX durchführt.
- Nachdem der AJAX ausgeführt wurde (Angular kümmert sich nicht um den AJAX), wird ein Rückruf ausgelöst und die Direktive ruft die
$scope.onAfterSubmit
Funktion auf, die den Speicherort festlegt.
Das Problem ist, dass nach dem Festlegen des Standorts nichts passiert. Ich habe auch versucht, den Standortparameter auf /
... Nein. Ich habe auch versucht, das Formular nicht einzureichen. Nichts funktioniert.
Ich habe getestet, ob der Code die onAfterSubmit
Funktion erreicht (was er tut).
Mein einziger Gedanke ist, dass sich der Umfang der Funktion irgendwie ändert (da sie von einer Direktive aufgerufen wird), aber wie kann sie dann wieder aufgerufen werden? onAfterSubmit
wenn sich der Umfang ändert?
Hier ist mein Code
var Ctrl = function($scope, $location, $http) {
$http.get('/resources/' + $params.id + '/edit.json').success(function(data) {
$scope.resource = data;
});
$scope.onAfterSubmit = function() {
$location.path('/').replace();
};
}
Ctrl.$inject = ['$scope','$location','$http'];
Kann mir bitte jemand helfen?