友達..
Angular でルーティングがどのように機能するかを理解するために、単純なアプリケーションを作成しました。このアプリケーションには次の 2 つのページしかありません。 1. 最初のページには、employee テーブルのすべての行が表示されます。特定の行をクリックすると、2 ページ目にその従業員の詳細が記載されたフォームが表示されます。
最初のページに表示されるリストは、次のコードを使用します。
<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 の値が失われることです。
つまり、フォームに従業員の詳細が入力されることはありません。
ここで何が間違っていますか?