有人能告诉我如何在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的相同指令和模型来反馈错误消息,然后添加错误消息
我希望这能有所帮助。