朋友们..
为了理解路由在 Angular 中的工作原理,我创建了一个简单的应用程序。此应用程序只有两页: 1. 第一页将显示员工表的所有行。单击特定行后,第二页将显示包含该员工详细信息的表单。
第一页上显示的列表使用以下代码:
<table>
<tr ng-repeat="employee in employees">
<td>{{employee.firstname}} - {{employee. address}}</td>
<td><span ng-click="getSingleEmployeeDetails(employee.id)">Edit</a></td>
</tr>
</table>
我对这两个页面使用相同的控制器,这个控制器如下所示:
function EmployeeCtrl($scope,$http,Employee,$location,$routeParams) {
// Get all employee details
var data;
Employee.query().then(function(_data) {
$scope.employees = _data.data;
});
// Get Single Employee Details
$scope.getSingleEmployeeDetails = function(id) {
$scope.employee = scope.employees[id];
$location.path('/editemployee/' + id);
}
}
然而,我面临的问题是,当代码
由于某种原因被路由到 /editemployee/1 时,$scope.employees 会失去它的值。
换句话说,表单永远不会填充员工详细信息。
我在这里做错了什么?