javascript - Angular JS - 使用服务保存\共享数据

标签 javascript angularjs ngroute angular-cache

我正在开发一些 Angular JS SPA。

我试图了解从体系结构的 Angular 来看,使用 Angular 服务在 View 之间保存\共享数据是否正确,或者我应该使用某种缓存机制。

我的需要是保存和共享任何 REST 响应,并根据需要再次获取。

不幸的是,我无法得到明确的答案,服务是否是保存数据的正确位置。

请根据您的经验提出建议。

谢谢。

最佳答案

AngularJS 有一个 $cacheFactory可用于管理数据的服务。在我链接到的示例中,他们使用 $cacheFactory 创建一个“服务”。我在我创建的应用程序中做了类似的事情,我在其中创建了一个“缓存服务”,该服务具有我公开的从 $cacheFactory 缓存添加/删除项目的方法(我通过 $http 调用检索的数据)。

您没有提供太多细节,但我想说,一般来说,使用服务来保存缓存数据是一个很好的做法。

编辑

您还可以考虑使用 $resource ,它内置了对缓存的支持。不确定您的应用程序具体需要什么,但如果您觉得需要自己维护缓存,请使用服务。如果某些事情发生变化,让每个服务维护自己的缓存逻辑很可能会成为一个问题。

关于javascript - Angular JS - 使用服务保存\共享数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38437265/

相关文章:

javascript - jQuery 跨站抓取

javascript - 为什么将 Javascript 函数构建为 jQuery 插件?

html - angularjs 中主页的多个 ng-views

javascript - AngularJS - 刷新页面后丢失html

javascript - 否则进行 Angular 路由

if 语句中的 JavaScript 错误 "Function expected"

javascript - ReactJS类型错误: Cannot read property 'eventEmitter' of undefined

javascript - 如何从 JavaScript 客户端的 Spring Boot 端点流式传输媒体内容

angularjs - AngularJS 中使用 ng-repeat 的条件内容

angularjs - npm 安装后注入(inject) Angular-Resource