AngularJS:为每个端点创build多个工厂?

下面是一些例子,看来我们可以注入一个工厂,其中包含一个rest服务的端点

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

还是有另一种推荐的方式?

我真的没有看到它的问题,但它会迫使我创build很多工厂只是为了处理不同的端点。

任何帮助或指导真的apprecaited

谢谢

这是一个偏好的问题。

但是,没有什么能够阻止你整合一个工厂内的所有资源,如下所示:

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

如果你在一个工厂拥有所有的资源,那么你如何实例化这个类?

通常情况下,只需一个资源,就可以: $scope.api = new Api();

这似乎并不工作…挂起…另外,我真正想要的是: $scope.users = new Api.Users();