的角度UI-路由器文档使用下面的示例重定向:角UI-路由器重定向路由
$urlRouterProvider.when(state.url, ['$match', '$stateParams', function ($match, $stateParams) {
if ($state.$current.navigable != state || !equalForKeys($match, $stateParams)) {
$state.transitionTo(state, $match, false);
}
}]);
https://github.com/angular-ui/ui-router/wiki/URL-Routing#when-for-redirection
我的问题是关于state.url
。您可以使用$state
服务获取州的网址,例如$state.get('home')
但是这是一个服务,并没有在配置阶段可用,所以我将如何去获取一个状态的URL,把它作为$urlRouterProvider.when
的第一个参数?
太好了,谢谢你的提供。所以,为了处理重定向,你会推荐使用创建一个自定义的正则表达式匹配器(并将其与状态url相对应)? – TaylorMac 2014-08-28 16:47:55
是的。创建你自己的自定义正则表达式匹配器应该可以解决这个问题 – 2014-08-28 16:49:29
没问题,这看起来有点多余,但如果没有其他解决方案,那么这将起作用。 – TaylorMac 2014-08-28 17:12:16