【问题标题】:Publish-subscribe pattern vs. visibility of UI发布-订阅模式与 UI 的可见性
【发布时间】:2019-05-08 12:25:27
【问题描述】:

在我当前的 SPA 中,我将所有数据保存在一个集中式存储(状态)中,其操作会触发状态突变并发布某些 pubSub 事件。

我的 UI 逻辑组织在不同的视图(函数)中,当调用这些视图(函数)时,需要绘制所需的 UI 元素(缓存它们),附加 UI 事件并将视图特定的 UI 逻辑订阅到上述 pubSub 事件。

想法:用户触发 UI 事件,这些事件调用可能会或可能不会更改状态的业务逻辑,UI 会根据这些更改自动更新。

问题:不同的视图可能订阅同一个 store 事件,因此可能会为当时不存在的 UI 执行回调。

问题:我是否应该在视图更改时始终取消订阅视图的所有订阅,或者有更好的方法吗?

不涉及框架/库,主要用于学习目的。

附言。由于我对这些模式还很陌生,我很感谢任何可能有助于改进我的概念的建议。

【问题讨论】:

  • 一些代码演示将有助于绕过确切的问题。尝试制作一个 codepen/fiddle
  • 觉得没必要,不过我会尽快补充的。
  • 是的,当视图更改时,您应该取消订阅视图的所有订阅。这是通常的做法。

标签: javascript store publish-subscribe


【解决方案1】:

是的,当视图被取消订阅时,您应该取消订阅视图的所有订阅 改变了。这是通常的做法。

...根据 Wiktor Zychla 的评论。非常感谢!

【讨论】:

    猜你喜欢
    • 2021-09-09
    • 1970-01-01
    • 2016-12-14
    • 1970-01-01
    • 1970-01-01
    • 2012-07-01
    • 2016-07-03
    • 2016-11-25
    相关资源
    最近更新 更多