javascript - AngularJs 没有链接通过

标签 javascript angularjs routes angularjs-routing

我有一份员工名单。现在我想将每条记录链接到员工资料。但无论我做什么,它都不起作用。

这是我的代码:

<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/

相关文章:

javascript - 为什么谷歌建议将 Analytics 异步代码放在 <head> 中的 *after* 脚本中?

javascript - 页面在 Django 中加载非常缓慢

javascript - 表格外的表格 "jump"中的angularjs ng-repeat?

codeigniter - 路线不起作用

reactjs - React Native - Stack Navigator 检查从哪个屏幕打开了新面板

linux - archlinux、KVM VPS 上的 PPTP 服务器,客户端从未收到包

javascript - jQuery/Javascript - 单击复选框时提交表单

javascript - 将小数转换为分数

javascript - 在 Bootstrap + Angular 中显示一个低于另一个的警报

javascript - 在 Angularjs 中操作 {} 内的字符串