AngularJs中是否有一种方法可以定义每个嵌套根状态的回退?
如果找到不匹配的网址,我有以下内容将用户重定向到主页
$urlRouterProvider.otherwise("/operations/home");
但是当我使用嵌套状态时,我试图设置每个基类型的回退。喜欢例如
如果我得到/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
此致,Kiran
答案 0 :(得分:0)
您可以将函数传递给otherwise
并根据尝试的网址添加一些逻辑来确定目标网址
$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];
}
});