显示加载 ng-view 模板失败的错误页面
Show error page on failure to load ng-view template
如果无法使用 ngRoute
加载模板,我希望能够显示标准错误页面或模板。
我读到订阅 $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,它有 "silos" 的 SPA / 路由,因为我慢慢地将网站从 jQuery 转换为 Angular。
您可能希望在遇到错误时重定向您的用户。通过使用您的代码:
$rootScope.$on("$routeChangeError", function (event, current, previous, rejection){
$location.url('/error');
});
然后在您的 $routeProvider(可能是 $stateProvider,具体取决于您使用的是什么)中,执行如下操作
$routeProvider
.when('/error', {
templateUrl: 'error.html',
controller: 'YourErrorController'
})
如果无法使用 ngRoute
加载模板,我希望能够显示标准错误页面或模板。
我读到订阅 $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,它有 "silos" 的 SPA / 路由,因为我慢慢地将网站从 jQuery 转换为 Angular。
您可能希望在遇到错误时重定向您的用户。通过使用您的代码:
$rootScope.$on("$routeChangeError", function (event, current, previous, rejection){
$location.url('/error');
});
然后在您的 $routeProvider(可能是 $stateProvider,具体取决于您使用的是什么)中,执行如下操作
$routeProvider
.when('/error', {
templateUrl: 'error.html',
controller: 'YourErrorController'
})