加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

angularjs中的CacheFactory是单身吗?

发布时间:2020-12-17 08:53:11 所属栏目:安全 来源:网络整理
导读:我使用CacheFactory创建了一个服务.我原以为它是一个单身人士.我将它注入我的控制器,它在控制器的范围内工作正常.但是一旦我转到具有不同范围的不同页面,我似乎没有将缓存中的值存储在不同范围内的同一控制器中.不应该CacheFactory的行为是一个单独的我在那
我使用CacheFactory创建了一个服务.我原以为它是一个单身人士.我将它注入我的控制器,它在控制器的范围内工作正常.但是一旦我转到具有不同范围的不同页面,我似乎没有将缓存中的值存储在不同范围内的同一控制器中.不应该CacheFactory的行为是一个单独的我在那里我有相同的缓存对象我注入CacheService?

这是我的服务作为一个例子:

angular.module('MyService',[]).factory('CacheService',function($cacheFactory) {
        return $cacheFactory('cacheService',{
            capacity: 3 // optional - turns the cache into LRU cache
        })
    });

然后在我的控制器中:

function MyController($scope,CacheService) {
   var results= CacheService.get('storedvalue');
   if(!results){
       CacheService.put('storedvalue',results);
      alert('results not stored');
   }
   else
      alert('results stored');
}
$cacheFactory实际上不是您要使用的服务 – 它是您用来创建要使用的单件服务的工厂.注意你的代码,它似乎应该工作.但我继续创建了一个演示来证明它确实如此.这是服务:
.factory('CacheService',function($cacheFactory) {
   var cache = $cacheFactory('cacheService',{
     capacity: 3 // optional - turns the cache into LRU cache
   });

   return cache;
});

在此示例中,CacheService是具有使用$cacheFactory创建的本地缓存的单例,这是我们从服务返回的内容.我们可以将它注入到我们想要的任何控制器中,它将始终返回相同的值.

这是一个有效的Plunker:http://plnkr.co/edit/loKWGms1lMCnmiWa1QA7?p=preview

如果由于某种原因你的帖子没有包含破坏你的代码的内容,请随时更新我的??Plunker以打破它,我们可以从那里去.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读