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();
…