这是我的 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/