service.js から返されるリソース オブジェクトをキャッシュして、API を何度もヒットさせず、応答時間を速くしたい。どのように使用できますか?いくつかのサンプルを試しましたが、うまくいきませんでした。
私のcontroller.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');
}
}]);
私のservice.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 は非常に役立ちます。ここにいるすべての素晴らしい人に感謝します。