Javascript AngularJs未通过链接
我有一份员工名单。现在我想将每个记录链接到一个员工档案。但不管我做什么,它都不起作用 这是我的代码:Javascript AngularJs未通过链接,javascript,angularjs,routing,angularjs-routing,Javascript,Angularjs,Routing,Angularjs Routing,我有一份员工名单。现在我想将每个记录链接到一个员工档案。但不管我做什么,它都不起作用 这是我的代码: <tr ng-repeat="employee in homeCtrl.employees" ng-href="#/werknemer/{{employee.EmployeeId}}"> <td>{{ employee.Role }}</td> <td>{{ employee.Company }}</td>
<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>
我用的是Angular 1.5.2
href
属性仅对一个(锚定)标记有效。在这里,您正在tr
上尝试,这显然不起作用
您需要通过调用ng上的事件单击
标记
<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>
控制器
//ideally this method can be easily moved out to service, will act as a redirection logic
$scope.doRedirect = function(id){
$location.path('#/werknemer/'+id)
}
href
属性仅对一个(锚定)标记有效。在这里,您正在tr
上尝试,这显然不起作用
您需要通过调用ng上的事件单击
标记
<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>
控制器
//ideally this method can be easily moved out to service, will act as a redirection logic
$scope.doRedirect = function(id){
$location.path('#/werknemer/'+id)
}
您的templateUrl应该是
templateUrl: '/views/employee.html',
angular始终查看项目根,因此不需要向上遍历一个级别
除此之外。不建议使用href,您应该使用ng click指向某个重定向功能
例如
...
$scope.goTo=功能(路由){
//根据route参数是否包含前导“#”,您可能需要使用以下任一选项。
$window.location.assign(路线);
或
$location.path(route);
}
您的模板URL应该是
templateUrl: '/views/employee.html',
angular始终查看项目根,因此不需要向上遍历一个级别
除此之外。不建议使用href,您应该使用ng click指向某个重定向功能
例如
...
$scope.goTo=功能(路由){
//根据route参数是否包含前导“#”,您可能需要使用以下任一选项。
$window.location.assign(路线);
或
$location.path(route);
}
另外,正如另一个答案所指出的,路由中的id参数的语法不正确。此外,正如另一个答案所指出的,路由中的id参数的语法不正确。
<anyElement ng-click='goTo("#/werknemer/1")'></anyElement>
...
$scope.goTo = function(route){
//depending on wether the route param contains the leading "#" you might want to use either of the following.
$window.location.assign(route);
OR
$location.path(route);
}