我仍在尝试围绕 rxjs 和 observables 和 BehaviorSubject 进行思考。我想做的是,将 BehaviorSubject 和 LocalStorage 结合起来,以便在特定 LocalStorage 变量发生变化时通知所有组件。
例如,考虑以下场景。
有两个组件 Component1 和 Component2。
这两个组件都在 LocalStorage 中查找名为 Component1 和 Component2 的变量,它们包含一种颜色,并且它们显示该颜色的正方形。
Component1 需要订阅LocalStorage 中的“Component1Color”键,Component2 需要订阅LocalStorage 中的“Component2Color”。
一种方法是使用 BehaviorSubject 来维护 LocalStorage 的状态,并且在任何时候对任何变量进行更改时,都会将此消息广播到已订阅 BehaviorSubject 的所有组件。
这种方法的问题在于,当 Component2Color 更新时,component1 也会收到通知,并且不会对此采取任何措施。
更好的是,Component1 仅在 Component1Color 更新时收到通知,而 Component2 仅在 Component2Color 更新时收到通知。有没有一种方法可以使用单个 BehaviorSubject 来完成?