【发布时间】:2018-08-30 15:02:45
【问题描述】:
商店是否正在替换 Angular 6 中的服务。
- 用于存储全局数据。
- 用于存储常见的分层数据。
- 组件间通信。
【问题讨论】:
商店是否正在替换 Angular 6 中的服务。
【问题讨论】:
你的意思是ngrx商店。
ngrx 商店协助:
(1) 存储应用数据
(2) 存储 UI 数据
(3) 缓存
(4) 非常早的初始化,在加载任何组件之前,您就可以开始发送 HTTP 数据请求了
(5) 组件间通信
您可以与商店完全集成,这可以根据您的应用消除对服务的需求,或者您可以进行部分集成并保留一些最适合您的架构的服务。
【讨论】:
No Store 不能用于替换 Angular 中的 services。
事实上,商店需要服务来进行 HTTP 调用(通过效果),这是一个非常常见的用例。
互联网上有很多文章谈论为什么应该使用商店(以及为什么不应该)。我建议您进行一些 Google 搜索并查看它们。
但一般来说,Store 不仅存储数据,而且还通过严格的规则很好地操作数据,这样当你的应用程序增长时,它可以防止你把它搞砸。
而服务向所有人开放数据以供访问。因此,您更难阻止自己(或您的同事)编写无法维护的代码。毕竟我们只是人类,人类会犯错误。所以有时候有这些小规则来让自己更有纪律是件好事。
理论上,Store 可以做的所有事情,也可以通过普通服务来完成(只是BehaviourSubject),尽管您需要自己编写这些“规则”。但是……你为什么要这么做?
【讨论】: