$resource的精心总结
来源:互联网 发布:iqunix 知乎 编辑:程序博客网 时间:2024/06/01 08:16
内置方法
基本写法
services代码
//将AboutService这个服务绑定到about.services这个module上angular .module('about.services') .service('AboutService', aboutService);//使用依赖注入将$resource服务注入到aboutService这个服务上aboutService.$inject = ['$resource'];//此时aboutService支持的方法(请求)有get/save/query/remove/deletefunction aboutService($resource) { return $resource('/app/about');}
在控制器中使用这个services
controller代码
AcademicService.query(function(result){ //result即为我们使用query方法请求到的资源})
自动匹配ID
对于以下api,因为只相差一个id,
'/app/academic''/app/academic/:academicId'
我们只需将services代码作如下修改,就能全部一起
angular .module('about.services') .service('AboutService', aboutService);aboutService.$inject = ['$resource'];function aboutService($resource) { return $resource('/app/about',{ academicId: '@_id' });}
相应的controller使用这两种API方法如下
controller代码
AcademicService.query(function(result){ //result即为我们使用query方法请求到的资源})//多传入一个academic即可AcademicService.delete({academicId:academicId},function(result){ //result即为我们使用query方法请求到的资源})
自定义方法
对于$resouce中没有内置的方法,比如(put,patch),需要我们自己定义。
比如我们需要扩展一个PUT方法,
angular .module('about.services') .service('AboutService', aboutService);aboutService.$inject = ['$resource'];function aboutService($resource) { return $resource('/app/about',{ academicId: '@_id' },{ update: { method: 'PUT' } });}
controller中调用的示例如下
- update方法,第一个参数为对象ID,第二个对象为对象本身
- delete方法,只有一个参数为对象ID
AcademicService.update(vm.academicInfo._id, vm.academicInfo, function (result) { $modal.close('update');});AcademicService.delete({academicId: vm.academicInfo._id}, function () { $modal.close('delete');});
无法统一包含的API
最后提一点,如果你的API是像以下这样,api前半部分不是一致的,那就没办法写在一个services里(如果有,请各位大神告诉我),就直接用两个两个services搞定好了。
'/app/about''/app/academic''/app/academic/:academicId'
多个services的demo
angular .module('about.services') .service('AboutService', aboutService) .service('AcademicService', academicService);aboutService.$inject = ['$resource'];function aboutService($resource) { return $resource('/app/about',{ academicId: '@_id' },{ update: { method: 'PUT' } });}aboutService.$inject = ['$resource'];function aboutService($resource) { return $resource('/app/about', {}, { update: { method: 'PUT' } });}
END
阅读全文
0 0
- $resource的精心总结
- Altium Designer -- 精心总结
- Altium Designer16 精心总结
- Altium Designer16 精心总结
- Altium Designer16 精心总结
- Altium Designer16 精心总结
- Altium Designer -- 精心总结
- Altium Designer -- 精心总结
- 我自己精心总结的面向对象,全是我自己的心得!
- 十年Java开发经验人员精心总结编制的Java学习脑图
- 精心收集的各种网站
- 一些精心收藏的地址
- JavaScript字符串的精心收集
- 独家精心总结Photoshop快捷键大全
- CSS学习笔记总结篇【精心收藏】
- Windows API函数大全(精心总结)
- 精心打造的New MMS Form
- 精心打造Team的组织架构
- 打印九九乘法表
- FPGA时序优化的几种方法
- HTTPS与SSL(一)
- 构造函数的方法和属性会复制给实例,但是原型中的方法和属性都不存在于实例中
- 初识数据结构
- $resource的精心总结
- POWER740硬盘更换步骤
- Windows下Mysql单向/双向热备份
- 学习Yii2框架时,想使用自带的gii脚手架模块,但是访问时说没有权限????
- 2017-10-26离线赛总结
- 简单实现Popup弹出框添加数据
- maven打jar包
- 如何用python对文本进行操作
- mysql处理高并发,防止库存超卖