我们可以把resource当做一个自定义服务的基础;
angular.module('testApp', ['ngResource']),factory('UserService',['$resource', function($resource){ return $resource(url,{},{}); }]);
$resource对常见的五种请求进行封装;
我们还可以对$resource进行扩展。
这里要扩展$resource我们需要传入第三个参数,该参数是一个对象。
$resource('/api/users',{},{
sendEmail:{
method:'',
url:'',
params:{},
isArray:boolean,
transformRequest:函数或者函数数组
transformResponse:函数或者函数数组
cache:布尔型或缓存对象
timeout:数值或promise对象
withCredentials:布尔类型
responseType:字符串,用来设置XMLHttpRequestResponseType属性
}
})
$resource
AngularJS中的resource(资源)允许我们用描述性的方式来定义对象模型,它可以描述以下内容:
- 资源在服务端的URL。
- 常用的请求参数类型。
- 一些附加的方法(你可以自动获得get、save、query、remove和delete方法),这些方法为对象模型包装了特定的功能和业务逻辑(例如信用卡对象的charge()方法)。
- 期望获得的响应类型(一个数组或者一个对象)。
- 协议头。
使用Angular所提供的$resource对象,你可以根据各种需求查询服务器;除此之外,你还可以把服务端返回的对象当成已经持久好的数据模型,你可以修改它们,并且可以把它们持久化。
Resource是一个独立的、可选的模块,因此,并没有默认包含在Angular中, 为了使用它,需要:
1、在加载的脚本文件中包含angular-resource.js.
2、在模块依赖声明中包含ngResource
例如: angular.module(‘myapp', [‘ngResource'])
3、在需要的地方使用注入的$resource服务。
格式: var obj=$resource(url,[,paramsDefaults],[,actions])
obj表示请求服务器指定url地址后返回的`$resource`对象,该对象中就包含了**与服务端进行数据交互的全部API**。
1、Angular中的$cacheFactory的作用:
2、Angular中的$cacheFactory的方法:
(1)put(key,value);
在缓存对象中插入一个键值对(key,value)。
(2)get(key);
在缓存对象中通过指定key获取对应的值。
(3)romove(key);
在缓存对象中通过指定key删除对应的值。
(4)removeAll();
删除缓存对象中所有的键值对。
(5)destroy();
销毁这个缓存对象。
(6)info();
获取缓存对象信息(id,size)。
注意:key:string类型,缓存对象中的值名称。
value:所有类型,缓存对象中的值。