AngularJS 定义$resource的资源
2018-07-26 17:10 更新
就像使用 ORM 一般要先定义 Model 一样,使用 $resource 需要先定义“资源”,也就是先定义一些 HTTP 请求。
在业务场景上,我们假设为,我们需要操作“书”这个实体,包括创建create,获取详情read,修改update,删除delete,批量获取multi,共五个操作方法。实体属性有:唯一标识id,标题title,作者author。
我们把这些操作定义成 $resource 的资源:
var app = angular.module('Demo', ['ngResource'], angular.noop); app.controller('BookCtrl', function($scope, $resource){ var actions = { create: {method: 'POST', params: {_method: 'create'}}, read: {method: 'POST', params: {_method: 'read'}}, update: {method: 'POST', params: {_method: 'update'}}, delete: {method: 'POST', params: {_method: 'delete'}}, multi: {method: 'POST', params: {_method: 'multi'}} } var Book = $resource('/book', {}, actions); });
定义是使用使用 $resource 这个函数就可以了,它接受三个参数:
- url
- 默认的params(这里的 params 即是 GET 请求的参数,POST 的参数单独叫做“postData”)
- 方法映射
方法映射是以方法名为 key ,以一个对象为 value ,这个 value 可以有三个成员:
- method, 请求方法,'GET', 'POST', 'PUT', 'DELETE' 这些
- params, 默认的 GET 参数
- isArray, 返回的数据是不是一个列表
以上内容是否对您有帮助:
更多建议: