AngularJs 中有没有办法定义每个嵌套根状态的回退?
我有以下内容,以便在找到不匹配的URL时将用户重定向到主页
$urlRouterProvider.otherwise("/operations/home");
但是 I 正在尝试在使用嵌套状态时设置每个基本类型的回退。 例如如果我得到/admin/some_thing_unknown
我想重定向到/admin/home
并/client/some_thing_unknown
重定向到/client/home
我尝试使用以下方法,但这不起作用。
$urlRouterProvider
.when("/admin", '/admin/home')
.otherwise("/client/home");
这只会将/admin
重定向到/admin/home
其他任何内容都重定向到/client/home
。
这甚至可能实现这一目标吗? 使用$stateProvider
或$urlRouterProvider
问候,基兰
您可以将函数传递给otherwise
并添加一些逻辑以根据尝试的 url 找出目标 url
在 JsFiddle 上试用一下
$routeProvider
.when('/page1', {
controller: 'MyCtrl',
templateUrl: 'page1.html'
})
.when('/page2', {
controller: 'MyCtrl',
templateUrl: 'page2.html'
})
.otherwise({
redirectTo: function(routeParams, path) {
//this would extract "page1" from "/page1/anything"
return path.split("/")[1];
}
});