Skip to main content
 首页 » 编程设计

AngularJS:为每个端点创建多个工厂

2024年06月20日22pengyingh

根据一些示例,我们似乎可以注入(inject)一个工厂,其中包含休息服务的端点,如下所示

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',............... 

或者还有其他推荐的方法吗?

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

非常感谢任何帮助或指导

谢谢

请您参考如下方法:

这是一个偏好问题。

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

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(); 
  ... 
}