angularjs – Angular:在一个Service中有多个函数
发布时间:2020-12-17 10:16:15 所属栏目:安全 来源:网络整理
导读:是否可以在一个服务中拥有多个功能? 我的书服务中有这个: (function() { 'use strict'; angular .module('app.core') .service('BookService',BookService); BookService.$inject = ['$resource']; /* @ngInject */ function BookService($resource) { ret
是否可以在一个服务中拥有多个功能?
我的书服务中有这个: (function() { 'use strict'; angular .module('app.core') .service('BookService',BookService); BookService.$inject = ['$resource']; /* @ngInject */ function BookService($resource) { return $resource('/api/book/:id',{ id: '@id' },{ 'get': { method: 'GET',cache: true },'query': { method: 'GET',isArray: true,cache: true },}); } })() 但是在同一个服务中,我希望有另一个功能,我将传递其他参数,例如: return $resource('/api/book/:name',{ name: '@name' },}); 我的控制器看起来像这样,有两个不同的调用: BookService.get({ id: 2 },function(book) {}) BookService.get({ name: "bookTitle" },function(book) {})
是的你可以.只需定义服务中的功能即可.最后,返回一个对象,该对象包含要向服务的使用者公开的所有函数.编辑:这适用于工厂.有关服务,请参阅nathan的回答.
(function() { 'use strict'; angular .module('app.core') .factory('BookService',BookService); BookService.$inject = ['$resource']; /* @ngInject */ function BookService($resource) { var getById = function(id){ return $resource('/api/book/:id',{ id: id },{ 'get': { method: 'GET',cache: true } }); }; var getByName = function(name) { return $resource('/api/book/:name',{ name: name },cache: true } }); }; return { getById: getById,getByName: getByName }; } })() (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 添加OpenLDAP反向组成员资格维护覆盖后,如何更新现有对象的
- An error occurred during the parsing of a resource requ
- 在XFire中创建WebService客户端的三种常用方式
- angularjs – AngBind中ngBind,ngBindHtm和ngBindTemplate之
- DotNet 网上资源
- 使用systemjs导入位于应用程序文件夹外的共享服务,该应用程
- 基于soap协议和webservice的客户端与服务器通信
- Bootstrap精简教程
- bash – Unix,将文件拆分为最多N个字节的块,保持完整的行
- scala – org.apache.spark.sql.AnalysisException:无法解