如何在angularjs中调用多个http调用工厂?

时间:2014-10-13 05:25:29

标签: angularjs angular-services

在我的项目中使用工厂根据传递给它的服务URL返回项目列表。现在我对所有列表项使用相同的工厂方法,例如用户列表,项目列表等。但是会发生什么甚至我发送不同的URL到该工厂,该对象被覆盖。

它不作为单独的方法。我需要使用单个工厂通过不同的URL获取不同的列表,并且需要在单页中显示。

请帮助我。谢谢。

1 个答案:

答案 0 :(得分:1)

这就是我实现服务的方式:

<强>服务

app.factory('MyService', function ($http) {
    var MyService = function () {
    };

    MyService.alertMe = function(message){
        alert(message);
    };

    MyService.getUsers = function(){
        return $http.get('/api/users');
    };

    MyService.createUser = function(user){

        var data = angular.toJson(user);
        return $http.post('/api/users', data);
    };

    return MyService;
});

<强>用法:

app.controller('myCtrl', function($scope, MyService) {

  $scope.click = function() {
    MyService.alertMe('hi from service');
  };
});

示例:http://plnkr.co/edit/uf0kx41gsiJBLfZt0O8I?p=preview