JavaScript |角度 |UI 路由器:$urlRouterProvider使用参数重定向

JavaScript | AngularJS | UI-Router: $urlRouterProvider Redirect With Parameters

本文关键字:重定向 urlRouterProvider 参数 角度 UI 路由器 JavaScript      更新时间:2023-09-26

问题...

实现者应该能够使用 $urlRouterProvider.when 编写简单的重定向,以使用相同的预期 URL 参数调用另一个状态:

$urlRouterProvider.when('/hook/route', '/that/other/route');

这应提供目标状态所需的正确$sateParams。例如,如果调用 URI /hook/route?token=X,则目标状态应具有$stateParams.token === 'X' - 假设此参数是在$stateProvider ({...网址: '/that/other/route?token' ...});

[在Stackoverflow-land中]的传统方式如下所示:

$urlRouterProvider
    .when('/hook/route', redirect)
    .otherwise('/');
function redirect($state, $stateParams) {
    $state.go('app.otherState', { token: $stateParams.token });
}

对于简单的带参数重定向操作来说,这似乎非常矫枉过正 - 尤其是在需要许多重定向的情况下。

我将在下面提供的答案显示了一种开销非常低的方法,不幸的是,该方法尚未在有关此主题的其他 StackOverflow 线程中点亮......

...溶液

将 URI 的参数与目标状态预期的参数匹配:

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

干杯!