【问题标题】:Angular UI-router - Not populating params despite $stateParams get objectAngular UI-router - 尽管 $stateParams 获取对象但不填充参数
【发布时间】:2016-02-17 08:33:46
【问题描述】:

我正在使用 angular 和 angular router-ui。我想使用动态 url 参数。

这就是我使用它的方式:

          .state('index.domain', {
            url: '/domain',
            template: "<div ui-view> Home Domain page </div>"
          })

            .state('index.domain.id', {
              url: '/:domainId',
              resolve: {
                domainId: function($stateParams){
                  return $stateParams.domainId;
                }
              },
              templateUrl: "./development/administration/domain.html",
              controller: function(domainId){
                console.log(domainId);
              }
            })

我通过以下调用调用路由:

$state.go('index.domain.id', {"domainId": domainId});

确实执行了解析,并且 $stateParams 获得了一个带有 domainId 的对象。尽管如此,它不会进入控制器。 URL/:domainId 也没有改变。

如果我在浏览器中将 URL 更改为指向 URL/RANDOM_DOMAIN_ID (其中 RANDOM_ID 是 domainId 有效数字),它将执行解析并转到控制器

我在 $state.go 调用中遗漏了什么吗?

【问题讨论】:

    标签: javascript angularjs angular-ui-router state ui-sref


    【解决方案1】:

    a working plunker

    我按原样使用上述状态def:

    .state('index', {
        url: '/index',
        template: "<div ui-view> Index </div>"
      })
    .state('index.domain', {
        url: '/domain',
        template: "<div ui-view> Home Domain page </div>"
     }) 
    .state('index.domain.id', {
      url: '/:domainId',
      resolve: {
        domainId: function($stateParams){
          return $stateParams.domainId;
        }
      },
      templateUrl: "development/administration/domain.html",
      controller: function(domainId){
        console.log(domainId);
      }
    })
    

    并在调用方进行了一些调整 - 这是有效的:

    <a ui-sref="index.domain.id({domainId: 1})">...
    <button ng-click="$state.go('index.domain.id', {domainId: 22});">...
    

    查看here

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-06-04
      • 2014-05-29
      • 2016-01-08
      • 2018-06-19
      • 1970-01-01
      • 2016-02-07
      相关资源
      最近更新 更多