我有一个非常简单的路由角度(使用ui-router)设置如下:
$stateProvider
.state("master", {
abstract: true,
url: "/{tenantName}"
})
.state("master.home", {
url: "",
})
.state("master.login", {
url: "/login"
})
现在我希望如果url中没有参数,则它与任何状态都不匹配并进入默认状态。但我有两个问题:
master.home仅将网址与域匹配,例如domain.com
我希望参数是强制性的(domain.com/hello)。我发现这样做的唯一方法是在那里放一个非空的正则表达式,但我希望有更好的方法。
我不知道如何制作正确的默认状态。似乎唯一的选择是使用""创建一个默认状态。 url(修复1之后)并添加.otherwise以重定向到该状态的url。
答案 0 :(得分:0)
你可以有其他状态
app.config(function($urlRouterProvider){
// if the path doesn't match any of the urls you configured
// otherwise will take care of routing the user to the specified url
$urlRouterProvider.otherwise('/index');
// Example of using function rule as param
$urlRouterProvider.otherwise(function($injector, $location){
... some advanced code...
});
})