2015-12-23 2 views
0

Я в настоящее время погружения в слои AngularJS, и я хочу знать, как (я знаю, что это возможно), чтобы объединить два моих заводские модули:Объединение нескольких операторов возвращаемых на одном заводе

// one 
services.factory('UserService', function ($resource) { 

    return $resource('rest/user/:action', {}, 
      { 
       authenticate: { 
        method: 'POST', 
        params: {'action': 'authenticate'}, 
        headers: {'Content-Type': 'application/x-www-form-urlencoded'} 
       }, 
      }); 
}); 

//two 
services.factory('UserService', function ($resource) { 

    return $resource('rest/user/:id', {id: '@id'}); 
}); 

Я попытался это:

services.factory('UserService', function ($resource) { 

    return { 
     authenticateUser: $resource('rest/user/:action', {}, 
       { 
        authenticate: { 
         method: 'POST', 
         params: {'action': 'authenticate'}, 
         headers: {'Content-Type': 'application/x-www-form-urlencoded'} 
        }, 
       }), 
     userID: $resource('rest/user/:id', {id: '@id'}) 
    }; 

}); 

и с функциональными переменными. Я использую одну веб-службу RESTful для всех действий для пользователя.

Заранее спасибо

ответ

0

изменение их метода

services.factory('UserService', function ($resource) { 

    return { 
     authenticateUser: function() { 
      return $resource('rest/user/:action', {}, 
       { 
        authenticate: { 
         method: 'POST', 
         params: {'action': 'authenticate'}, 
         headers: {'Content-Type': 'application/x-www-form-urlencoded'} 
        }, 
       }) 
     }, 
     userID: function() { 
      return $resource('rest/user/:id', {id: '@id'}) 
     } 
    }; 

}); 

и использовать их в качестве

// authenticate user 
var UserAuth = UserService.authenticateUser(); 
UserAuth.authenticate({username: $scope.username, password: $scope.password}); 

// user id 
var UserId = UserService.userID(); 
UserId.get({id: 123}, function (user) { 
    // code 
}); 
+0

Я использовал, чтобы использовать его как это:. UserService.authenticate ($ ({параметров имя пользователя : $ scope.username, password: $ scope.password}), function (authenticationResult) {// code. Так что теперь я просто добавляю UserService.authenticateUser(). authenticate ($. param ..etc ..? – Lobato

+0

@Buggyy yes , вы можете проверить edi Ответ – Venugopal

Смежные вопросы