angularjs dependencies circular exceptionhandler

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"); }; }]);