Angularjs 对多个控制器共享的角度静止调用进行编码

Angularjs 对多个控制器共享的角度静止调用进行编码,angularjs,rest,dictionary,Angularjs,Rest,Dictionary,以前有人问过这个问题,但更多的是关于使用何种风格。目前我们有几个不同的控制器,我们一直在进行REST调用以获取信息。例如,$http.get('/alluser')。在我们进行这个调用之后,我们创建一个用户映射来访问每个用户。它工作得很好,但我不喜欢每次需要来自不同控制器的用户信息时都必须手动执行此操作 我想要的是一个共享对象,它将所有用户信息都作为一个映射和一个共享函数来调用并创建/更新映射 这就是我开始感到困惑的地方。什么是实现这一目标的最佳和有效的方法?您可能想要一个工厂或服务 正如我在这

以前有人问过这个问题,但更多的是关于使用何种风格。目前我们有几个不同的控制器,我们一直在进行REST调用以获取信息。例如,
$http.get('/alluser')
。在我们进行这个调用之后,我们创建一个用户映射来访问每个用户。它工作得很好,但我不喜欢每次需要来自不同控制器的用户信息时都必须手动执行此操作

我想要的是一个共享对象,它将所有用户信息都作为一个映射和一个共享函数来调用并创建/更新映射


这就是我开始感到困惑的地方。什么是实现这一目标的最佳和有效的方法?

您可能想要一个工厂或服务 正如我在这里试图解释的那样:

您可能还希望使用以下内容缓存$http请求的响应:


希望这有帮助

您可能想要一个工厂或服务 正如我在这里试图解释的那样:

您可能还希望使用以下内容缓存$http请求的响应:


希望这有帮助

A
服务
适用于这种情况。这将允许您将其注入控制器、指令和组件

angular
  .module('myApp')
  .service('userService', UserService);

UserService.$inject = ['$http'];
function UserService ($http) {
   var service = this;

   service.getAllUsers = function () {
        return $http.get('/allusers');
   }
}
这将允许您在控制器中注入和使用

function UserController(userService) {
    userService.getAllUsers().then(function (response) {
        // response.data has your goods
    });
}

在这种情况下,可以使用
服务
。这将允许您将其注入控制器、指令和组件

angular
  .module('myApp')
  .service('userService', UserService);

UserService.$inject = ['$http'];
function UserService ($http) {
   var service = this;

   service.getAllUsers = function () {
        return $http.get('/allusers');
   }
}
这将允许您在控制器中注入和使用

function UserController(userService) {
    userService.getAllUsers().then(function (response) {
        // response.data has your goods
    });
}