首页 > 解决方案 > 海量组件订阅还是单次订阅+导出数据?

问题描述

我从 Angular 开始,我有一些设计问题,关于在可靠性和性能方面什么是最好的做事方式

我有一个 SettingsService 从后端服务器获取一些用户设置,我不想使用Observables将这些设置发布/发送到很多组件中。

我找到了 2 个选项,但我不知道什么是最好的解决方案:

1)为每个组件订阅 SettingsService(我有大约 15 个组件需要这些设置数据,所以它会添加很多代码)

2) [如下图所示] 将 1 个服务(服务 A)订阅到 SettingsService 并导出该数据以供这 15 个组件中的每一个使用,因此我编写的代码更少,并且只进行一次订阅。(问题是我不知道来自服务 A 的变量是否是持久的,我的意思是,如果组件 N 有一个服务 A 的实例(具有一定的“快照”范围)并且突然发生一些变量更改,它会保持持久吗?是这个选项是个好习惯吗?

我试图尽可能清楚,对不起,如果我犯了一些“新手”错误。

十分感谢!!!

图解

标签: angularperformance

解决方案


推荐阅读