在Angular.js中列出/编辑项目的最佳做法是什么?

时间:2016-02-23 16:34:18

标签: javascript angularjs

我在Employees视图中有一个员工列表,我可以在其中添加新员工并删除现有员工。

为了列出员工,我在视图中使用ng-repeat,我可以通过在控制器中使用传递的Id和Index值调用我的splice方法来删除特定员工。

为了编辑,我使用 angular(copy)然后更新DB中的编辑值。关于添加新员工,编辑和删除员工,一切都很好。

我在单个视图中编写了所有代码 - 单个html并且其大小太大。我使用ng-show / ng-hide来执行添加/编辑操作。

我想将代码分解为多个视图以添加和编辑员工信息,并且我对员工模型中的所有CRUD操作使用相同的EmployeeController。

如果我将employee.html分解为多个视图,那么我必须初始化控制器并最终丢失数据。我可以在这里使用 $ rootScope 来保存我的数据,但它会污染我的结构,因为全局是邪恶的东西。

请建议我处理这种情况的最佳做法。提前谢谢!

这是我的代码,

// To get all employee instances
$scope.getEmpList = function(){
    $scope.employees = EmployeeFactory.getEmpList();
}

// Update employee details
$scope.editEmp = function(empObj){
    $scope.updatedEmpObj = angular.copy(empObj);
    EmployeeFactory.updateEmployee($scope.updatedEmpObj);
}

1 个答案:

答案 0 :(得分:1)

您应该使用服务来保存数据并将该服务注入您需要数据的每个控制器。服务是单例,只实例化一次。

有关详细信息,请参阅Using angular service to share data between controllers

相关问题