如何删除angularjs中的缓存?

时间:2014-08-20 14:56:14

标签: javascript angularjs caching resources

我需要你总是清除缓存。但是当我创建,更新或删除客户端时,总是得到相同的结果。 只有当我手动删除缓存(Ctrl + Shift + Supr)时,我才能看到新数据。

.factory('Clients', ['$resource', function ($resource) {
    return $resource(pathApi, {}, {
        query: {
            method: 'GET',
            isArray: false
        }
    });
}])

angular.module('app.controllers').controller('controller', ['$scope','Clients', function ($scope,  Clients) {

            Clients.get().$promise.then(
                //success
                function (value) {
                    $rootScope.clients= value;
                },
                //error. 
                function (error) {
                   alert(error);
                }
            );
  }]);

2 个答案:

答案 0 :(得分:1)

这似乎对我有用:

app.run(function($rootScope,$templateCache) {
  $rootScope.$on('$viewContentLoaded', function() {
    $templateCache.removeAll();
  });
});

答案 1 :(得分:0)

Here是解决方案。在请求中添加一个时间变量:params:{' foobar&#39 ;: new Date()。getTime()}

.factory('Clients', ['$resource', function ($resource) {
    return $resource(pathApi, {}, {
        query: {
            method: 'GET',
            isArray: false,
            params: { 'foobar': new Date().getTime() }
        }
    });
}])