Angular UI Router $ stateParams不更新值,保持为null

时间:2016-10-23 01:34:12

标签: javascript angularjs angular-ui-router

这是我的角度片段

.state('patient',{
      url:'/patient/{id}',
      templateUrl: 'partial-patient.html',
      controller: "PatientCtrl",
      resolve: {
          post:['$stateParams', 'patientFactory', function ($stateParams, patientFactory) {
              console.log($stateParams);
              return patientFactory.getHRSessions($stateParams.id);
          }]
      }
  })

我的网址是<a href="#/patient/{{patient.id}}/">{{$index+1}}</a>

$ stateParams.id不断返回null。我把网址正确地形成为:

https://<my-host>/#/patient/57f2106c2a2bc35043858143

在控制台中获取输出:Object { id: null }

1 个答案:

答案 0 :(得分:0)

我找到了问题的原因。基本上,关键是检查是否有任何路由组件与您的<a>标记或您尝试路由的任何内容重叠。

<a>标记的父(或更确切地说是祖父)元素是一个表。而且有一个愚蠢的

<table ui-sref="patient">

导致了这个问题。将其更改为

<table>...

这就是诀窍。