【问题标题】:JavaScript | AngularJS | UI-Router: $urlRouterProvider Redirect With ParametersJavaScript | AngularJS | UI-Router:带有参数的 $urlRouterProvider 重定向
【发布时间】: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


    【解决方案1】:

    ...解决方案

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

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

    干杯!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-05-15
      • 2016-01-18
      相关资源
      最近更新 更多