问题...
实施者应该能够编写简单的重定向,使用相同的预期 URL 参数$urlRouterProvider.when
调用另一个状态:
$urlRouterProvider.when('/hook/route', '/that/other/route');
这应该提供$sateParams
目标状态所需的正确信息。例如,如果/hook/route?token=X
调用 URI,则目标状态应该具有$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 });
}
对于一个简单的带参数重定向操作来说,这似乎非常过分——尤其是在需要许多重定向的情况下。
我将在下面提供的答案显示了一种开销非常低的方法,不幸的是,在有关此主题的其他 StackOverflow 线程中并未重点关注该方法...