45

按照一些示例,我们似乎可以注入一个工厂,该工厂将包含一个用于休息服务的端点,如下所示

services.factory('Recipe', ['$resource',
     function($resource) {
        return $resource('/recipes/:id', {id: '@id'});
}]);

这看起来不错,但想象一下我还有其他端点,即 /users/:id 和 /groups/:id,因为您可以想象不同端点的数量将会增加。

因此,为每个端点设置不同的工厂是一种很好的做法,因此拥有..

services.factory('Recipe', ['$resource',............

services.factory('Users', ['$resource',.............

services.factory('Groups', ['$resource',...............

还是有其他推荐的方式?

我真的看不出它有什么问题,但它会迫使我创建很多工厂来处理不同的端点。

任何帮助或指导真的很感激

谢谢

4

1 回答 1

99

这是一个偏好问题。

但是没有什么能阻止您将所有资源整合到一个工厂中,例如:

services.factory('Api', ['$resource',
 function($resource) {
  return {
    Recipe: $resource('/recipes/:id', {id: '@id'}),
    Users:  $resource('/users/:id', {id: '@id'}),
    Group:  $resource('/groups/:id', {id: '@id'})
  };
}]);

function myCtrl($scope, Api){
  $scope.recipe = Api.Recipe.get({id: 1});
  $scope.users = Api.Users.query();
  ...
}
于 2013-06-21T11:01:33.497 回答