我想显示404错误页面,但我也想在位置保存错误的URL。
如果我会做这样的事情:
$urlRouterProvider.otherwise('404'); $stateProvider .state('404',{ url: '/404',template: error404Template });
有这种情况的解决方案。我们会使用1)一个ui-router本机特性和2)一个配置设置。
here可以观察到
here。
原文链接:https://www.f2er.com/angularjs/144091.html1)ui-router状态定义的本机特征是:
The
url
is not needed. State could be defined without its representation in location.
2)配置设置为:
> otherwise()
for invalid routes,哪个参数不一定是一个带有默认url的字符串,但也可以是一个函数(cite):
path String | Function The url path you want to redirect to or a function rule that returns the url path. The function version is passed two params: $injector and $location
解决方案:这两个组合。我们会有没有url的状态和其他方式:
$stateProvider .state('404',{ // no url defined template: '<div>error</div>',}) $urlRouterProvider.otherwise(function($injector,$location){ var state = $injector.get('$state'); state.go('404'); return $location.path(); });
检查所有在这working example