我在AngularJS应用中设置了如下路线。
audit.config(["$routeProvider",function($routeProvider){
$routeProvider
.when('/AuditData/:auditCode', {
templateUrl: 'templ/AuditData.html',
controller: 'AuditDataController'
})
.when('/', {
templateUrl: 'templ/AuditSelect.html',
controller: 'AuditSelectController'
})
.when('/AuditSetup', {
templateUrl: 'templ/AuditSetup.html',
controller: 'AuditSetupController'
}}]);
路由按预期工作。系统会向用户显示AuditSelect
中从REST服务加载的审核代码的列表。列表中的每个项目都应是指向与该代码相关联的数据的链接,即:#/AuditData/:auditCode
,<a href="#/AuditData/code123">
。
(templ / AuditSelect.html):
<div>
<table>
<tr>
<th>Audit Code</th>
<th>Description</th>
</tr>
<tr ng-repeat="auditCode in auditCodes">
<td><a href="#/AuditData/{{auditCode.auditCode}}"> {{auditCode.auditCode}}</a></td>
<td>{{auditCode.description}}</td>
</tr>
</table>
</div>
我的问题是,当用户单击链接时,他们被带回到'/'
,而不是'/AuditData/:auditCode'
。
更新: 我发现了问题所在:-)我在模板的href中缺少一个爆炸。我还改用了ng-href(如果没有爆炸,它也无法工作,但是可以使用它)
<td><a ng-href="#!/AuditData/{{auditCode.auditCode}}">{{auditCode.auditCode}}</a></td>