我有一份员工名单。现在我想将每条记录链接到员工资料。但无论我做什么,它都不起作用。
这是我的代码:
<tr ng-repeat="employee in homeCtrl.employees" ng-href="#/werknemer/{{employee.EmployeeId}}">
<td>{{ employee.Role }}</td>
<td>{{ employee.Company }}</td>
<td>{{ employee.FirstName }}</td>
<td>{{ employee.LastName }}</td>
</tr>
我的页面源代码是这样的:
<tr ng-repeat="employee in homeCtrl.employees" ng-href="#/werknemer/1" class="ng-scope" href="#/werknemer/1">
路线文件:
.when('/werknemer/{id}', {
templateUrl: '../views/employee.html',
controller: 'employeeController',
controllerAs: 'employeeCtrl'
})
我使用的是 Angular 1.5.2。
最佳答案
href
属性仅适用于 a
( anchor )标签。在这里,您正在 tr
上尝试它,这显然不会起作用。
您需要通过在 ng-click
上调用事件来进行手动重定向
标记
<tr ng-repeat="employee in homeCtrl.employees" ng-click="doRedirect(employee.EmployeeId)">
<td>{{ employee.Role }}</td>
<td>{{ employee.Company }}</td>
<td>{{ employee.FirstName }}</td>
<td>{{ employee.LastName }}</td>
</tr>
还要改变在路由中引入 url 参数的方式。
代码
.when('/werknemer/:id', { //changed `/{id}` to `/:id`
templateUrl: '../views/employee.html',
controller: 'employeeController',
controllerAs: 'employeeCtrl'
})
Controller
//ideally this method can be easily moved out to service, will act as a redirection logic
$scope.doRedirect = function(id){
$location.path('#/werknemer/'+id)
}
关于javascript - AngularJs 没有链接通过,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36198231/