角度404不适用于否则templateUrl和redirectTo

时间:2017-04-19 14:39:17

标签: javascript angular

尝试添加一个简单的404.html模板但由于某种原因它不会被渲染。在我的app.routes.js中我尝试了以下

$routeProvider.when('/', {
    templateUrl: '/templates/index.html',
    controller: 'IndexCtrl'
}).otherwise({
    templateUrl: '/templates/404.html'
})

我还尝试使用redirectTo,如下所示,但它不起作用

.otherwise({
    redirectTo: '/templates/404.html'
})

当我尝试在控制台中键入类似http://localhost:5000/aaaaaaaaaaaaa的内容时,我看到404响应,但未呈现模板。我需要调整控制器吗?

1 个答案:

答案 0 :(得分:2)

您可以使用特定视图/templates/404.html为404创建特定路线。

otherwise()方法调用中,您可以重定向到该路由/404

app.config(function ($routeProvider) {
  $routeProvider
    .when('/', {
      templateUrl: 'templates/index.html',
      controller: 'IndexCtrl'
    })
    .when('/404', {
      templateUrl: 'templates/404.html'
    })
    .otherwise({
      redirectTo: '/404'
    });
});