angularjs - $ ubicación desde $ exceptionHandler-conflicto de dependencia
dependencies circular (1)
Estoy intentando implementar una tarea muy estándar: cuando ocurre una excepción, redirija a mi página de /error
.
En una forma simplificada, el código se ve así:
app.factory(''$exceptionHandler'', [''$location'', function($location) {
return function(exception, cause) {
$location.path("/error");
};
}]);
Sin embargo, AngularJS se queja de: dependencia circular encontrada: $ location <- $ exceptionHandler <- $ rootScope
Esto parece una limitación fundamental, no permitir el uso de $location
al manejar excepciones.
Pero, ¿de qué otro modo podemos hacerlo?
Para evitar esto, debe llamar al $injector
manualmente para resolver la dependencia en tiempo de ejecución:
app.factory(''$exceptionHandler'', [''$injector'', function($injector) {
var $location;
return function(exception, cause) {
$location = $location || $injector.get(''$location'');
$location.path("/error");
};
}]);