Boilerplatejs 模块间共享数据的样板文件

Boilerplatejs 模块间共享数据的样板文件,boilerplatejs,Boilerplatejs,我需要一种在模块之间共享信息的方法,而不仅仅是在同一模块中的组件之间。 我在不同的moduleContext之间共享公共数据 -我尝试使用应用程序上下文(moduleContext.getParentContext().setSettings()或getSettings()),但每个模块上下文都有不同的moduleContext.getParentContext() -我还尝试为应用程序创建一个单例对象,但即使在这种情况下,第一个模块(登录页)的单例数据也不能用于其他模块 -我尝试的第三件事是通

我需要一种在模块之间共享信息的方法,而不仅仅是在同一模块中的组件之间。 我在不同的moduleContext之间共享公共数据

-我尝试使用应用程序上下文(moduleContext.getParentContext().setSettings()或getSettings()),但每个模块上下文都有不同的moduleContext.getParentContext()

-我还尝试为应用程序创建一个单例对象,但即使在这种情况下,第一个模块(登录页)的单例数据也不能用于其他模块

-我尝试的第三件事是通过通知(notify/listen)传递数据,结果相同

有人知道如何解决这个问题吗


Marcos

如果要保持模块树之间的关系,必须通过调用以下命令来创建模块层次结构:

parentContext.LoadChildContext(ModuleContext)

完成此操作后,该方法确保将子上下文的“事件中介器”设置为与父上下文完全相同的“中介器”实例。然后,在任何模块上发生的事件将通知到同一模块树中的所有上下文

设置也是如此。使用“loadChildContexts”方法时,父上下文的设置将“复制”到子上下文设置


如果它仍然不适用于您,您可以将您的代码共享给我吗?我可以帮助您找到问题所在。

你好,谢谢您的帮助。事实上,问题不完全是在模块之间,而是在domController中加载的“模块”(如菜单、语言等)和模块中加载的组件之间。我将“用户”放在DomController中的组件。当用户登录时,我必须与模块共享用户信息。我必须以这种方式工作,因为部分站点是开放的,没有必要的登录。此外,用户组件必须在登录后显示用户名,因此我必须能够在DomController中的组件之间进行通信UrlControllerLogin中的组件在SPA模型中是一个棘手的用例。这就是为什么您会发现几乎所有SPA应用程序都会通过页面刷新来处理登录。虽然您可以将其用于BPJS事件,但您是否可以在登录后立即进行页面刷新,以便所有组件都可以重新加载自己是否让他们从服务器会话检索新的登录状态?