【发布时间】:2016-04-22 20:17:31
【问题描述】:
问题...
实施者应该能够使用$urlRouterProvider.when 编写简单的重定向来调用另一个状态具有相同的预期 URL 参数:
$urlRouterProvider.when('/hook/route', '/that/other/route');
这应该提供目标状态所需的正确$sateParams。例如,如果调用了 URI /hook/route?token=X,则目标状态应该有 $stateParams.token === 'X' -- 假设在 $stateProvider ({... url: '/that /other/route?token' ...});
[在 Stackoverflow-land 中] 的传统方式如下所示:
$urlRouterProvider
.when('/hook/route', redirect)
.otherwise('/');
function redirect($state, $stateParams) {
$state.go('app.otherState', { token: $stateParams.token });
}
对于一个简单的 redirect-with-parameters 操作来说,这似乎非常过分了——尤其是在需要许多重定向的情况下。
我将在下面提供的答案显示了一种开销非常低的方法,不幸的是,该方法并未在有关此主题的其他 StackOverflow 线程中得到关注...
【问题讨论】:
标签: javascript angularjs redirect angular-ui-router routeparams