我希望能够显示一个标准的错误页面或模板,如果一个模板不能使用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,当我慢慢地将网站从jQuery转换到Angular时,它有SPA/路由的"孤岛"。
当遇到错误时,您可能希望重定向用户。如使用您的代码:
$rootScope.$on("$routeChangeError", function (event, current, previous, rejection){
$location.url('/error');
});
然后在$routeProvider(可能是$stateProvider,取决于你使用的是什么)中,做如下操作
$routeProvider
.when('/error', {
templateUrl: 'error.html',
controller: 'YourErrorController'
})