【发布时间】:2020-01-08 12:59:04
【问题描述】:
在服务BehaviorSubject 类型上创建公共变量作为标准方法是否是个好主意。
这个想法是,如果您想公开一个变量,那么您很可能想要响应它们的变化(现在或不久的将来)。我在服务中添加的几乎所有公共变量似乎都是这种情况。
我开始更改某些变量的类型,因为我不得不这样做,现在我开始将其视为某种模式。
一个例子是一个保存连接状态的公共变量。 isConnected。当服务的连接断开时,您希望向最终用户显示一条弹出消息,并在连接恢复时使其消失。
另一个例子:一个变量包含当前登录用户的 UI 设置。当其中一项设置发生更改时,您希望立即应用这些设置并重新渲染屏幕布局。
由于我以前没有将其作为一种模式阅读过, 这个策略是否有缺陷?如果有,为什么?
【问题讨论】:
标签: angular typescript design-patterns behaviorsubject