0

问题...

实施者应该能够编写简单的重定向,使用相同的预期 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 线程中并未重点关注该方法...

4

1 回答 1

1

... 解决方案

将您的 URI 参数与目标状态所期望的参数相匹配:

$urlRouterProvider
    .when('/hook/route?token', '/route?token')
    .otherwise('/');

干杯!

于 2016-04-22T20:17:31.297 回答