缓存:由资源忽略

时间:2014-01-15 15:29:45

标签: angularjs

我已经添加了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");
                    }
                });

2 个答案:

答案 0 :(得分:1)

你必须实现$ cacheFactory才能做到这一点!

请看这里:AngularJs: How to cache $http properly?

答案 1 :(得分:0)

仅适用于angular-resource.js v1.2.7(非1.0.7)