查询 AngularJS 的 $cacheFactory 值

Query AngularJS's $cacheFactory values

我已正确设置 Restangular 以通过以下方式缓存我的 http 请求:

Restangular.withConfig(function(RestangularConfigurer) {
    RestangularConfigurer.setDefaultHttpFields({cache: true});
});

但是,我希望能够在给定的时间点手动处理某些缓存的元素,例如,当它们由于用户修改这些对象而变得过时时。有没有办法做到这一点?我试过:

$cacheFactory.get('$http').info()
Object {id: "$http", size: 7}

只需使用 $cacheFactory API,如下所述:

例如,要使给定的缓存条目无效:

$cacheFactory.get('$http').remove(myGetUrlToInvalidate);

myGetUrlToInvalidate 是您的 GET 请求的字符串表示 URL。您可能需要测试以确定它是否 相对或绝对 URL,请查看以下 Whosebug 讨论以获取更多详细信息:

  • How to refresh / invalidate $resource cache in AngularJS

这个指向备用缓存实现的 Whosebug 讨论也很有趣:

  • Is there a way to get all of the keys out of a cache in Angular, specifically the template cache?

矩形资源: