【问题标题】:Get the value of a parameter in resolve of ui-router获取ui-router解析中的参数值
【发布时间】:2017-06-28 00:24:36
【问题描述】:

我将使用window.open 打开一个类似https://localhost:3000/new?HostId=8Ocs_Onuv1wowozxAAAS&_host_Info=excel%7Cweb%7C16.00%7Cen-us%7Cc8b501ce-c51d-b862-701e-5c623e1a70e0%7CisDialog 的网址。

https://localhost:3000 托管一个平均堆栈站点。我想在ui-router的解析中获得HostId(例如8Ocs_Onuv1wowozxAAAS)的值。我尝试了以下方法,但没有奏效:

app.config(['$stateProvider', function ($stateProvider) {
    $stateProvider
        .state('new',
            url: '/new/:HostId',
            templateUrl: '/htmls/editor.html',
            controller: 'EditorCtrl',
            resolve: {
                host: ['$stateParams', function ($stateParams) {
                    alert(JSON.stringify($stateParams))
                }]
            }
        });
}]);

有谁知道如何做到这一点?

【问题讨论】:

  • 您的州网址应该是url: '/new?HostId',
  • 移除 JSON.stringify

标签: javascript angularjs url angular-ui-router


【解决方案1】:

您在代码中缺少 HostId。将代码更改为

 resolve: {
        host: ['$stateParams', function ($stateParams) {
            alert($stateParams.HostId)
        }]

$stateParams 的类型是字符串,你不需要对其进行字符串化

【讨论】:

  • 另外,正如@Chris 提到的,URL 应该是url: '/new?HostId'...
猜你喜欢
  • 1970-01-01
  • 2013-10-01
  • 2013-08-02
  • 2023-03-23
  • 2014-05-24
  • 1970-01-01
  • 2016-02-07
  • 2014-08-29
  • 1970-01-01
相关资源
最近更新 更多