angularjs(三):$resource介绍
来源:互联网 发布:欧洲卡车模拟2mac下载 编辑:程序博客网 时间:2024/06/06 00:59
个人翻译。
ngResource模块的服务。
描述
创建资源对象的工厂。该资源对象允许你与RESTful服务端数据资源进行交互。
返回的资源对象拥有提供了高层行为的动作方法,从而无需与底层的$http服务进行交互。
需要安装ngResource模块。
依赖
$http
使用
$resource(url[, paramDefaults][, actions]);
参数
参数名类型详情urlstring参数以【:】为前缀的参数化的URL模板,例如【/user/:username】。
如果url带有后缀,则直接添加。例如【http://example.com/:id.json】,甚至是【http://example.com/resource/:resource_id.:format】。
paramDefaults
【可选】
Objecturl参数中的默认值。可在action方法中被覆盖。
若任一参数为函数,则每当一次请求需要获取参数值时,都将被执行(除非参数被覆盖)。
参数对象中的每个键值对,若在url模板中存在则会被首先绑定,多余的键将被添加到url搜索查询(?之后)。
给定模板【/path/:verb】与参数【{verb:'greet', salutation:'Hello'}】,将得到URL【/path/greet?salutation=Hello】。
若参数值以【@】作为前缀,则该参数的值将被从data对象中取出(用于非GET操作)。
actions
【可选】
Object声明扩展默认资源动作集合的自定义动作的声明集合。声明应以$http.config的格式创建:
{action1: {method:?, params:?, isArray:?, headers:?, ...},
action2: {method:?, params:?, isArray:?, headers:?, ...},
...}
其中:
action - {string} - 动作名。该名称成为你的资源对象的方法名。
method – {string} – HTTP请求方法。合法的方法包括GET, POST, PUT, DELETE和JSONP。
params – {Object=} – 本动作提前绑定的参数的可选集合。若任一参数为函数,则每当一次请求需要获取参数值时,都将被执行(除非参数被覆盖)。
url – {string} – 动作特定url覆盖。支持url模板,与资源级别url相似。
isArray – {boolean=} – 本动作的返回对象是一个数组,则为真。
【以下略】
返回
返回一个资源“类”对象。该对象包含默认资源动作的方法,和可选的自定义的扩展动作。默认集合包含以下动作:
{ 'get': {method:'GET'}, 'save': {method:'POST'}, 'query': {method:'GET', isArray:true}, 'remove': {method:'DELETE'}, 'delete': {method:'DELETE'} };
调用这些方法将以特定的http方法、目标和参数调用ng.$http。数据从服务器返回后,该对象将是该资源类的一个实例。save,remove,delete动作($前缀)可作为该对象的方法使用。这允许你很容易地对服务器端数据进行CRUD操作,如:
var User = $resource('/user/:userId', {userId:'@id'}); var user = User.get({userId:123}, function() {user.abc = true;user.$save();});
调用$resource对象的方法将立即返回一个空引用(对象或数组依isArray而定)。数据一旦从服务器返回,该引用将填充具体的数据。这是 一个有用的技巧,因为资源通常被赋给一个模型,模型随即被视图渲染。一个空对象不会被渲染,而当数据从服务器返回,那么该对象将填充数据,视图会自动重新 渲染、以显示新的数据。这意味着在多数情况下没有必要为动作方法写回调函数。
类对象或实例对象中的动作方法可以用以下参数进行调用:
HTTP GET “类”动作: Resource.action([parameters], [success], [error])
non-GET “类”动作: Resource.action([parameters], postData, [success], [error])
non-GET 实例动作: instance.$action([parameters], [success], [error])
Success回调以(value, responseHeaders)参数调用。Error回调以(httpResponse)参数回调。
- angularjs(三):$resource介绍
- AngularJS $resource
- AngularJS中使用$resource(已更新)
- AngularJS入门(三)
- AngularJS学习(三)
- AngularJs实战(三)
- AngularJS $resource RESTful example
- AngularJS的$resource
- AngularJS的$resource
- AngularJS $resource举例
- AngularJs(四):$Http,$resource
- Angularjs的$resource使用
- AngularJS中使用$resource
- AngularJS 入门介绍(一)
- AngularJS学习(三)模板
- AngularJS学习笔记(三)
- AngularJS 学习笔记 (三)
- AngularJs(三)作用域
- NYOJ 题目760 See LCS again(LIS求LCS)
- Mac把socks5代理转换成http/https的代理
- Jquery树控件ZTree保持单一路径并定时刷
- Telnet用法
- 很好的理解遗传算法的例子
- angularjs(三):$resource介绍
- NTU-Coursera机器学习:过拟合(Overfitting)与正规化(Regularization)
- AngularJs(四):$Http,$resource
- mac eclipse 修改 command+Q 防止误操作 应用
- Cocoa:异常
- swift iphone 页面跳转-代码跳转方法
- AngularJs(五):路由
- linux创建进程方法
- 考研数据结构与算法之排序专题三 直接插入排序