Angular.JS 404页单页应用程序



有人能告诉我如何在angularJS中为单页应用程序制作"404-page not found"教程吗。

或者更好地解释如何实现这一点。

互联网上似乎没有太多关于这件事的内容。

在使用本机路由器的Angular SPA中,如果找不到路由,它将命中$routeProvider.otherwise()方法,从而加载路由的视图,如果从服务器传递,该视图通常为404’ed。

angular.app('application', ['ngRoute'])
    .config(['$routeProvider', function($routeProvider) {
        // If route is not configured go to 404 route
        $routeProvider.otherwise('/404');
        $routeProvider.when('404', { /* route configuration */ });
    });

这里唯一的缺点是URL推送状态也会发生变化,但是如果服务器重定向到自定义404,这种情况通常会发生。

我不会把它看作404页。

在你的SPA(单页应用程序(中,你可以进行多个API调用,独立更新仪表板上的小部件,其中9个成功(200个(,1个失败(404个(,在这种情况下,你不想重定向用户。

正如David Barker所说,您有一个otherwise,这是一个包罗万象的页面。

app.config(['$routeProvider',
  function($routeProvider) {
    $routeProvider.
      when('/login', {
        templateUrl: 'login.template.html',
        controller: 'LoginController'
      }).
      when('/', {
        templateUrl: 'dashboard.template.html',
        controller: 'DashboardController'
      }).
      otherwise({
        redirectTo: '/'
      });
  }]);

因此,如果用户输入了错误的路线,然后转到仪表板,唯一的问题是反馈:

1:您需要一个消息服务来反馈实际的API 404有错误响应,并且可以使用拦截器、指令和模型来管理。

2:您可以使用运行方法以及查找$routeChangeError的相同指令和模型来反馈错误消息,然后添加错误消息

我希望这能有所帮助。

最新更新