javascript - formularios - ¿Cómo observar un cambio de ruta en AngularJS?
formularios en angular 6 (4)
¿Cómo se vería / desencadenaría un evento en un cambio de ruta?
Si no desea colocar el reloj dentro de un controlador específico, puede agregar el reloj para toda la aplicación en la aplicación Angular run()
var myApp = angular.module(''myApp'', []);
myApp.run(function($rootScope) {
$rootScope.$on("$locationChangeStart", function(event, next, current) {
// handle route changes
});
});
Nota : Esta es una respuesta adecuada para una versión heredada de AngularJS. Vea esta pregunta para las versiones actualizadas.
$scope.$on(''$routeChangeStart'', function($event, next, current) {
// ... you could trigger something here ...
});
Los siguientes eventos también están disponibles (sus funciones de devolución de llamada toman diferentes argumentos):
- $ routeChangeSuccess
- $ routeChangeError
- $ routeUpdate - si la propiedad reloadOnSearch se ha establecido en falso
Ver los documentos de $route .
Hay otros dos eventos undocumented :
- $ locationChangeStart
- $ locationChangeSuccess
Consulte ¿Cuál es la diferencia entre $ locationChangeSuccess y $ locationChangeStart?
$rootScope.$on( "$routeChangeStart", function(event, next, current) {
//..do something
//event.stopPropagation(); //if you don''t want event to bubble up
});
$rootScope.$on( "$routeChangeStart", function(event, next, current) {
//if you want to interrupt going to another location.
event.preventDefault(); });