Mithriljs组件间通信 - 阻塞

时间:2017-05-19 01:05:00

标签: javascript observer-pattern blocking mithril.js

我设计了一个使用mithriljs(0.2.5)的应用程序,其中包含用于组件间通信的组件和Observer模式。但是我确实需要根据另一个来阻止组件的操作。

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

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

选择组件不知道细节的肮脏,Detail组件将呈现Save Confirmation。

如果选择取消,Detail组件可以触发REVERT_SELECTION消息的一个选项,理想的模式是阻止Item选择完成直到Detail组件给出go / no go响应,似乎我需要除了observer之外的东西,这是阻塞。

由于

1 个答案:

答案 0 :(得分:0)

我认为最好的解决方案是使用一个模态对话框来阻止所有的GUI,而不是选择是/否/取消。

Im mithril 0.2.5你的varios可用于模态。

Please take a look to this samples