Как вызвать множественный http вызов на фабрику в angularjs?

В моем проекте я использую фабрику, которая возвращает список элементов в соответствии с URL-адресом службы, переданным этому. Теперь я использую один и тот же метод фабрики для всех элементов списка, например, списка пользователей, списка элементов и т. Д., Но что происходит, даже если я отправить разные URL на эту фабрику, объект переопределен.

Он не действует как отдельные методы. Мне нужно извлекать разные списки через разные URL-адреса, используя одну фабрику, и их нужно показывать на одной странице.

Пожалуйста, помогите мне с этим. Спасибо заранее.

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

Другие вопросы по тегам