Я бы хотел показать стандартную страницу ошибки или шаблон, если шаблон нельзя загрузить с помощью ngRoute
.
Я читал, что подписка на $routeChangeError
может помочь, но не $routeChangeError
куда идти отсюда.
$rootScope.$on("$routeChangeError", function (event, current, previous, rejection){
// somehow tell the routing engine to load my error page (404 or 500 or something)
});
Кроме того, это можно сделать в глобальном масштабе, или это необходимо сделать для каждого контроллера. В настоящее время мой сайт не полностью SPA, у него есть "силосы" SPA/маршрутизации, так как я медленно конвертирую сайт из jQuery в Angular.
Вероятно, вы захотите перенаправить своего пользователя при ошибке. Как с помощью вашего кода:
$rootScope.$on("$routeChangeError", function (event, current, previous, rejection){
$location.url('/error');
});
И затем в вашем $ routeProvider (возможно, $ stateProvider в зависимости от того, что вы используете), сделайте что-то вроде следующего
$routeProvider
.when('/error', {
templateUrl: 'error.html',
controller: 'YourErrorController'
})