在AngularJS中,您将如何缓存从Java收到的数据(例如,今天的前10条新闻的列表)

In AngularJS, how would you cache the data (for example, a list of top 10 news of today) you receive from Java?

本文关键字:例如 数据 AngularJS 今天 列表 新闻 10条 Java 何缓存 缓存      更新时间:2023-09-26

我正在从后端获取新闻列表,并希望缓存它们,并使用AngularJS在HTML5中显示它们。

我是Angular的新手,不知道正确的方法。是否可以缓存这些数据。请提出建议。

如果不允许在这里发表评论,您也可以在这里发表意见:http://blog.grepruby.com/2014/09/in-angularjs-how-would-you-cache-data.html

解决问题的最简单方法是创建一个有角度的服务并使用$cacheFactory。

app.service('NewsService', function ($http) {
  return {
    getTopTen: function () {
    // Get top 10 news from backend
      return $http.get('/api/news/top10', {
        cache: true;
      });
    }
  };
});
NewsService.getTopTen(); // 100ms
NewsService.getTopTen(); // 1ms
$cacheFactory.get('$http').get('/api/news/top10'); // cached item

$cachefactory现在不支持XY什么?

如果您需要更灵活的东西,请使用:http://jmdobry.github.io/angular-cache/

如果您只是想避免对Web服务进行不必要的调用,请不要在应用程序中重建缓存。您应该通过在服务器中设置正确的HTTP缓存头来使用HTTPs缓存功能和浏览器对它的支持:

http://www.w3.org/Protocols/rfc2616/rfc2616-sec13.html