Je rencontre un problème avec la modification de l'URL de la page après l'envoi d'un formulaire.
Voici le flux de mon application:
- Les itinéraires sont définis, l'URL est reconnue vers une page de formulaire.
- Les pages chargent, le contrôleur définit les variables, les directives sont déclenchées.
- Une directive de formulaire spéciale est déclenchée qui effectue une soumission de formulaire spéciale à l'aide d'AJAX.
- Après l'exécution de l'AJAX (Angular ne s'occupe pas de l'AJAX), un rappel est déclenché et la directive appelle la
$scope.onAfterSubmit
fonction qui définit l'emplacement.
Le problème est qu'après avoir défini l'emplacement, rien ne se passe. J'ai également essayé de définir le paramètre d'emplacement sur /
... Non. J'ai également essayé de ne pas soumettre le formulaire. Rien ne fonctionne.
J'ai testé pour voir si le code atteint la onAfterSubmit
fonction (ce qu'il fait).
Ma seule pensée est que d'une manière ou d'une autre, la portée de la fonction est modifiée (depuis qu'elle est appelée à partir d'une directive), mais comment peut-elle être appelée onAfterSubmit
si la portée a changé?
Voici mon 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'];
Quelqu'un peut m'aider s'il vous plaît?