Sto riscontrando un problema con la modifica dell'URL della pagina dopo l'invio di un modulo.
Ecco il flusso della mia app:
- I percorsi sono impostati, l'URL è riconosciuto in qualche pagina del modulo.
- La pagina viene caricata, il controller imposta le variabili, le direttive vengono attivate.
- Viene emessa una direttiva sui moduli speciali che esegue l'invio di un modulo speciale utilizzando AJAX.
- Dopo l'esecuzione di AJAX (Angular non si occupa di AJAX), viene attivato un callback e la direttiva chiama la
$scope.onAfterSubmit
funzione che imposta la posizione.
Il problema è che dopo aver impostato la posizione non succede nulla. Ho provato anche a impostare il parametro di posizione /
... No. Ho anche provato a non inviare il modulo. Niente funziona.
Ho testato per vedere se il codice raggiunge la onAfterSubmit
funzione (cosa che fa).
Il mio unico pensiero è che in qualche modo l'ambito della funzione sia cambiato (dal momento che è stato chiamato da una direttiva), ma poi come può chiamare onAfterSubmit
se l'ambito è cambiato?
Ecco il mio codice
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'];
Qualcuno può aiutarmi per favore?