发布-订阅模式与 UI 的可见性
Posted
技术标签:
【中文标题】发布-订阅模式与 UI 的可见性【英文标题】:Publish-subscribe pattern vs. visibility of UI 【发布时间】:2019-05-08 12:25:27 【问题描述】:在我当前的 SPA 中,我将所有数据保存在一个集中式存储(状态)中,其操作会触发状态突变并发布某些 pubSub 事件。
我的 UI 逻辑组织在不同的视图(函数)中,当调用这些视图(函数)时,需要绘制所需的 UI 元素(缓存它们),附加 UI 事件并将视图特定的 UI 逻辑订阅到上述 pubSub 事件。
想法:用户触发 UI 事件,这些事件调用可能会或可能不会更改状态的业务逻辑,UI 会根据这些更改自动更新。
问题:不同的视图可能订阅同一个 store 事件,因此可能会为当时不存在的 UI 执行回调。
问题:我是否应该在视图更改时始终取消订阅视图的所有订阅,或者有更好的方法吗?
不涉及框架/库,主要用于学习目的。
附言。由于我对这些模式还很陌生,我很感谢任何可能有助于改进我的概念的建议。
【问题讨论】:
一些代码演示将有助于绕过确切的问题。尝试制作一个 codepen/fiddle 觉得没必要,不过我会尽快补充的。 是的,当视图更改时,您应该取消订阅视图的所有订阅。这是通常的做法。 【参考方案1】:是的,当视图被取消订阅时,您应该取消订阅视图的所有订阅 改变了。这是通常的做法。
...根据 Wiktor Zychla 的评论。非常感谢!
【讨论】:
以上是关于发布-订阅模式与 UI 的可见性的主要内容,如果未能解决你的问题,请参考以下文章