缓存http请求的方式
var app = angular.module('myApp', []);
// 创建Controller,测试$http如何与服务器交互
app.controller("MyController", function ($scope, $http,$cacheFactory) {
var lru; // 声明缓存变量 只需要声明一次,使用时存在就不需要重新声明
// 按钮响应函数
// 此处需要将用户列表缓存
$scope.getUsers = function () {
// 简写形式 get(url,config)
// 实现方式一:设置cache字段为true
/*$http.get("data/users.json", {cache:true}).success(function (data) { //get方法返回的还是promise对象
$scope.users = data.users;
})*/
// 实现方式二:自定义缓存实例,通过$cacheFactory服务获取缓存实例
if(!lru){
lru = $cacheFactory("lru", {capacity: 20});
}
$http.get("data/users.json", {cache: lru}).success(function (data) { //get方法返回的还是promise对象
$scope.users = data.users;
})
缓存对象可使用的方法:
info() 获取缓存对象信息
put(key,value) 存放数据
get(key) 获取数据
remove(key) 删除对应key的项
removeAll() 删除所有项
destroy() 销毁缓存