1

我正在研究一些 Angular JS SPA 。

我试图了解从架构的角度来看,使用角度服务在视图之间保存\共享数据是否正确,或者我应该使用一些缓存机制。

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

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

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

谢谢。

4

2 回答 2

2

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

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

编辑

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

于 2016-07-18T13:48:25.503 回答
-2

是的,服务最适合保存您的数据或在控制器之间共享数据。

谢谢

于 2016-07-18T13:05:54.237 回答