【问题标题】:Mithriljs inter component communication - blockingMithriljs 组件间通信 - 阻塞
【发布时间】:2017-05-19 01:04:59
【问题描述】:

我设计了一个应用程序,使用 mithriljs(0.2.5) 和组件和 Observer 模式进行组件间通信。但是,我确实需要阻止基于另一个组件的操作。

说,我有 2 个组件 ItemList 和 ItemDetail。当在列表组件中选择一个项目时,会触发一个 ITEM_SELECTED 事件,该事件会导致加载详细信息。详细信息组件允许编辑和保存用户详细信息。

如果详细信息很脏(编辑未保存)并且用户尝试进行选择,我想显示一个带有是/否/取消选项的保存项目屏幕。根据选择的选项,加载新的详细信息或取消并返回之前的选择。

Selection 组件不知道细节的脏度,Detail 组件会渲染保存确认。

如果选择取消,Detail 组件的一个选项会触发 REVERT_SELECTION 消息,理想的模式是阻止 Item 选择完成,直到 Detail 组件给出 go/no go 响应,似乎我需要观察者以外的其他东西,即阻塞。

谢谢

【问题讨论】:

  • 出于好奇,您是否考虑过迁移到 Mithril 1.x?目前它已经发布了大约 5 个月,因此您可能需要尽快考虑。
  • @Isiah Meadows,简而言之,我们在 2014 年中期开始使用 Mithril 0.1x 的项目,它相当复杂且庞大。 Mitriljs 非常棒(谢谢!),尤其是 dom 管理/渲染性能。我们使用了很多 Mithriljs 0.x 模式,并具有 m.prop、m.sync 等特色。 m.start/endComputation(项目基于 websockets)。我们确实有 3 个方库(jQuery、jQueryUI、Gridstack、C3js..),因此大量使用了 vdom.config。看看 1.0 api,迁移不会是直截了当的,这将是一个重要的重构,以获得 v1.x 的全部好处。这阻碍了我们

标签: javascript observer-pattern blocking mithril.js


【解决方案1】:

我想最好的解决方案是使用模态对话框,它会阻止所有 GUI,直到完成对是/否/取消的选择。

Im mithril 0.2.5 you varios approact available for modals.

Please take a look to this samples

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-06-08
    • 2014-04-04
    • 1970-01-01
    • 1970-01-01
    • 2014-06-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多