【问题标题】:Angular $resource cache not workingAngular $resource 缓存不起作用
【发布时间】:2014-06-05 11:46:05
【问题描述】:

我想在我的 MEAN-stack 应用程序中缓存资源。

在客户端中,我使用调用服务器的服务,并在其中放置跟踪以查看缓存是否正常工作(每次重新加载页面时都会看到此跟踪)。

在本例中,我检索城市列表。

我的控制者:

angular.module('mean.cars').controller('CarsController', ['$scope', '$http', '$stateParams', '$location', 'Global','Cities',
    function ($scope, $http, $stateParams, $location, Global, Cities) {

$scope.cities = Cities.query();

我的服务:

angular.module('mean.sol').factory('Cities', ['$resource',  function($resource) {return $resource('cities/', {}, {list : {method : 'GET', cache : true } });}]);

我也尝试了以下解决方案:

mod.factory('Cities', ['$resource',  function($resource, $cacheFactory) {return $resource('cities/', {}, {list : {
        'get': { method:'GET', cache: $cacheFactory },
    'query': { method:'GET', cache: $cacheFactory, isArray:true } } });}]);

或者:

mod.factory('Cities', function($resource){
return $resource('cities/', {},
    {get: 
        {
            cache: true,
            method: 'GET'
        }
    }
);

})

一切正常,但没有缓存。它总是调用我的服务器。

我尝试了许多解决方案,例如将 $resource 替换为 $cacheFactory,但它不起作用。我找不到这样做的好方法。

我是不是忘记了什么?

【问题讨论】:

    标签: node.js angularjs caching


    【解决方案1】:

    好的,我找到了问题:

    我这样改变我的服务:

    mod.factory('Cities', ['$resource', function($resource) {return $resource('cities/', {}, {'query' : {method : 'GET', cache : true, isArray:true } });}]);
    

    -> 'query' 而不是 'list' 并添加 isArray:true。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-08-13
      • 1970-01-01
      • 1970-01-01
      • 2018-05-13
      • 2015-04-12
      • 2013-08-31
      • 2012-09-01
      相关资源
      最近更新 更多