angularjs 缓存

Posted 撒哈拉的雪

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了angularjs 缓存相关的知识,希望对你有一定的参考价值。

 

设置缓存请求的数据:只有请求URL不变,就不会重新发请求

 

设置带定时时间的缓存:

 

.factory(\'cacheInterceptor\', [\'$cacheFactory\', \'$timeout\', function($cacheFactory, $timeout) {
  var ttlMap = {};
  return {
    request: function(config) {
      if (config.ttl) {
        var ttl = config.ttl;
        delete config.ttl;
        config.cache = true;

        // If not in ttlMap then we set up a timer to delete, otherwise there\'s already a timer.
        if (!ttlMap[config.url]) {
          ttlMap[config.url] = true;
          $timeout(ttl)
          .then(function() {
            $cacheFactory.get(\'$http\').remove(config.url);          
            delete ttlMap[config.url];
          });
        }
      }
      return config;
    }
  };
}])
.config([\'$routeProvider\', \'$httpProvider\', function($routeProvider, $httpProvider) {

  $httpProvider.interceptors.push(\'cacheInterceptor\');
$http.get(\'/permissions.json\', {timeToLive: Constant.timeToLive}).then(function(result){
.constant(\'Constant\', {
  url: {
    logout: \'/auth/logout\'
  },
  timeToLive: 60*60*1000
})

 

以上是关于angularjs 缓存的主要内容,如果未能解决你的问题,请参考以下文章

AngularJS 在开发机器上禁用部分缓存

Android获取各个应用程序的缓存文件代码小片段(使用AIDL)

从 AngularJS url 中删除片段标识符(# 符号)

初入AngularJS基础门

AngularJS ——ngResourceRESTful APIs 使用

浅谈AngularJS中的$parse和$eval