无法加载ng-view模板时显示错误页面

时间:2015-07-24 13:46:48

标签: javascript angularjs ngroute

如果无法使用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,它有"筒仓" SPA /路由,因为我慢慢将网站从jQuery转换为Angular。

1 个答案:

答案 0 :(得分:0)

您可能希望在遇到错误时重定向您的用户。通过使用您的代码:

$rootScope.$on("$routeChangeError", function (event, current, previous, rejection){
    $location.url('/error');
});

然后在你的$ routeProvider(也许是$ stateProvider,取决于你使用的是什么),做类似下面的事情

$routeProvider
    .when('/error', {
        templateUrl: 'error.html',
        controller: 'YourErrorController'
    })