我已经添加了cache:true到我的资源。但是当我再次执行资源方法(没有页面刷新)时,我看到请求被发送到服务器。为什么资源没有缓存?我应该为此实现$ cacheFactory吗?
资源:
"use strict";
angular.module('afx.service')
.factory('afx.service.resource.Terminal', ["$resource", function ($resource) {
return $resource("/rest/terminals", {}, {
/**
* @method findTerminals
* Find all terminals
* @return {Array} Terminals
*/
findTerminals: { method: "GET", isArray: true, cache: true}
});
}]);
使用资源:
terminalsResource.findTerminals({}, function (data) {
$scope.loading = false;
$scope.terminals = data;
}, function (response) {
var lStatus = response.status;
if (lStatus !== 401) {
growlerService.error("Could not refresh the terminals");
}
});
答案 0 :(得分:1)
你必须实现$ cacheFactory才能做到这一点!
答案 1 :(得分:0)
仅适用于angular-resource.js v1.2.7(非1.0.7)