如果数据库(角度)中有数据,我是否应该将数据存储在服务中

时间:2018-08-01 07:39:56

标签: angular

对于这个问题听起来很奇怪并且不够聪明,我感到抱歉。
我只是想知道在Angular中存储数据的最佳方法是什么。

1-在 service 中,使用http.get并将其返回为可观察值。然后在组件中订阅它。
2-在 service 中创建一个数组,使用相同的http向其获取数据,然后在我的组件中使用该数组。

2 个答案:

答案 0 :(得分:0)

这在很大程度上取决于您的应用程序本身。第一个选项称为无状态服务。它的优点是它不会更改数据状态,因此被认为是一种更安全,更不易出错的方法。我通常会使用这种样式。同样,您的浏览器内存不会被该数据占用,因此在某些时候这可能也变得很重要。

但是,如果数据不繁重(占用较小的内存),并且您稍后打算对其进行突变(例如过滤器等),那么我也可能会考虑第二种方法。因为您可以在客户端(浏览器)上更改其状态,而无需对数据库进行其他查询。这很可能为您节省了一些购买服务器的费用。

答案 1 :(得分:0)

您可以在服务内执行一些基本的缓存,以避免重复从数据库中获取日期。

这里有一篇很棒的博客文章,

https://blog.thoughtram.io/angular/2018/03/05/advanced-caching-with-rxjs.html

(我与该链接无关,它确实对我有帮助!)