在学习Angular 2时,我看到了多个示例,其中应用程序数据存储在服务中。
例如:在待办事项列表应用程序中,您会找到一个“待办事项”服务,该服务将定义“待办事项条目”列表,该服务的任何使用者都可以访问该列表。
我的问题是:是否有更好的方法来定义应用程序数据?它应该与服务分开吗?
在我的特定情况下,我想利用localstorage来保存一堆应用程序数据。最终,我可能将其重构为改为从数据库保存和加载数据。对我来说,创建某种“数据存储”服务以供其他服务用来保存和检索数据是否更有意义,还是应该让数据始终与使用它的服务一起使用?在上面的“ todo”示例中,如何选择结构?
最佳答案
LocalStorage仅用于改善用户体验(为提高速度或类似目的而进行缓存),而不是持久存储不能丢失的数据的地方。对于这种情况,您需要一台服务器,您可以在其中将数据发送到该服务器并将其存储在数据库中。 https://www.firebase.com/一开始可能很方便。
将数据与获取或保留这些数据的服务分开是一个好主意。如果您使用Angulars Http
服务来从服务器获取数据并持久存储到服务器,则这可能足够分开。当您的应用程序变得更复杂时,您可能需要更多的抽象,但这将需要一个更具体的示例来说明您实际要完成的工作。