在角度服务和控制器之间分离代码

时间:2014-12-15 03:44:50

标签: angularjs angular-services

我已经读过,我们应该将controllersservices之间的代码分开。

我这样做了,我不确定它是否正确,但看起来我正在重复一些事情。

这是我的服务

            getUsers: function () {
                return Restangular.all('loc').all('users').

            },

这是我的控制器

    // controller
    var getUsers = function() {        
                userService.getUsers().getList().then(function (users) {
                $scope.users = users;
            }function (error) {
                $scope.errors = error.data;
            }); }

    getUsers();

我想知道使用服务的重点是因为我仍然需要在控制器中执行所有操作。

理想情况下,我只想让用户直接进入服务范围。

我想知道我使用它错了吗?

1 个答案:

答案 0 :(得分:0)

通常,您这样做是为了可以为控制器单元测试模拟您的服务。例如,服务将用于与您的数据库进行交互。通过执行此操作,您可以模拟数据库并为Controller编写单元测试,而无需与数据库交互。

您可能还在多个Controller中使用该服务。