我正在研究一些Angular JS SPA。
我试图了解从架构角度来看,使用角度服务在视图之间保持\共享数据是正确的还是应该使用一些缓存机制。
我需要保持和共享任何REST响应并按需求再次获取。
不幸的是,如果服务是保存数据的正确位置,我无法得到明确答案。
请根据您的经验提供建议。
感谢。
答案 0 :(得分:2)
AngularJS有一个$cacheFactory服务,可用于管理数据。在我链接的示例中,他们创建了一项“服务”服务。使用$ cacheFactory。我已经在我创建了一个应用程序中创建了一个类似的东西,我在那里创建了一个“缓存服务”。我有暴露的方法来添加/删除$ cacheFactory缓存中的项目(我通过$ http调用检索的数据)。
您没有提供很多详细信息,但我会说,一般来说,使用服务来保存缓存数据是一种很好的做法。
修改强>
您还可以考虑使用内置支持缓存的$resource。不确定您的应用程序特别需要什么,但如果您觉得需要自己维护缓存,请使用服务。如果某些内容发生变化,让每个服务维护它自己的缓存逻辑更有可能成为问题。
答案 1 :(得分:-2)
是服务最适合保存数据或在控制器之间共享数据。
由于