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

标签 javascript angularjs angular-ui-router

这是我的 Angular 片段

.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。我得到的 url 格式正确为:

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

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

最佳答案

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

<a> 的父(或更确切地说是祖父)元素标签是一张 table 。还有一个傻瓜

<table ui-sref="patient">

导致此问题的原因。改为

<table>...

这样就成功了。

关于javascript - Angular UI Router $stateParams 不更新值,保持 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40198711/

相关文章:

javascript - 禁用拖放

javascript - Sprite 动画闪烁

Angularjs:如何使用 ui-router 重新加载或刷新 ui-view

javascript - MVC - 使用 POST 参数打开网页

javascript - 以编程方式进行时直观地显示 Angular 范围更改

javascript - 将包含特定格式日期的字符串解析为 Javascript 中的 Date 对象

javascript - 在 $scope 变量中传递数据

javascript - 使用 ng-switch 交换模板

angularjs - Angular ui-router 最佳实践继承与元数据

angularjs - 为什么$ stateChangeStart会多次触发?