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

时间:2016-07-18 12:54:48

标签: javascript angularjs ngroute angular-cache

我正在研究一些Angular JS SPA。

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

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

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

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

感谢。

2 个答案:

答案 0 :(得分:2)

AngularJS有一个$cacheFactory服务,可用于管理数据。在我链接的示例中,他们创建了一项“服务”服务。使用$ cacheFactory。我已经在我创建了一个应用程序中创建了一个类似的东西,我在那里创建了一个“缓存服务”。我有暴露的方法来添加/删除$ cacheFactory缓存中的项目(我通过$ http调用检索的数据)。

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

修改

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

答案 1 :(得分:-2)

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

由于