【发布时间】:2014-09-22 15:50:36
【问题描述】:
我想缓存从 service.js 返回的资源对象,以便一次又一次地不命中 API 并且响应时间快。我该如何使用它?尝试了几个样本,但无法成功。
我的控制器.js
app.controller('MyCtrl2', ['$scope', '$rootScope', '$location', 'UserFactory', 'ProductFactory', '$q', 'Reddit', function ($scope, $rootScope, $location, UserFactory, ProductFactory, $q, Reddit) {
$scope.casualShirts = function () {
console.log("casualshirts");
$rootScope.home = ProductFactory.home.query({productcategory: 'Men Casual Shirts'});
var pagesShown = 1;
var pageSize = 21;
$scope.paginationLimit = function(data) {
//alert("34");
return pageSize * pagesShown;
};
$scope.hasMoreItemsToShow = function() {
return pagesShown < ($rootScope.home.length / pageSize);
};
$scope.showMoreItems = function() {
pagesShown = pagesShown + 1;
};
$location.path('/view2');
}
}]);
我的服务.js
services.factory('ProductFactory', ['$resource', '$rootScope', '$cacheFactory', function ($resource, $rootScope, $cacheFactory) {
/*alert("I am here service");*/
console.log("casualshirts service");
return {
home: $resource('/rest/products/:productcategory', {}, {
query: {method: 'GET', isArray: true,cache: $cacheFactory, },
create: {method: 'POST'}
})
}]);
另外,如何设置过期时间,缓存会在一段时间后刷新。
jsfiddle 会很有帮助。感谢这里所有的聪明人。
【问题讨论】:
标签: angularjs angularjs-directive angularjs-scope angular-services angular-cache