Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
模块沙盒核心Javascript模式中更深层次的分离_Javascript_Design Patterns - Fatal编程技术网

模块沙盒核心Javascript模式中更深层次的分离

模块沙盒核心Javascript模式中更深层次的分离,javascript,design-patterns,Javascript,Design Patterns,遵循的想法,我开始实施我的大学许可证项目使用这种架构 我遇到了一个不清楚该如何进行的情况。为了说明该场景,我将尝试给出一个可靠的示例: 我有两个模块是通过核心启动的,它们是合法的模块,每个模块都有一个沙盒实例。一个模块显示管理区域的仪表板主要内容,另一个模块显示管理区域的用户配置文件主要内容 这两个模块都使用沙箱通过Ajax从服务器获取内容。这就是不清楚的事情突然出现的地方。两个模块都有一个很小但值得注意的共同点。一个小的user statistics div,显示当前登录用户的一些数据 该设

遵循的想法,我开始实施我的大学许可证项目使用这种架构

我遇到了一个不清楚该如何进行的情况。为了说明该场景,我将尝试给出一个可靠的示例:

我有两个模块是通过核心启动的,它们是合法的模块,每个模块都有一个沙盒实例。一个模块显示管理区域的仪表板主要内容,另一个模块显示管理区域的用户配置文件主要内容

这两个模块都使用沙箱通过Ajax从服务器获取内容。这就是不清楚的事情突然出现的地方。两个模块都有一个很小但值得注意的共同点。一个小的user statistics div,显示当前登录用户的一些数据

该设计模式规定,除了沙箱之外,模块不应具有任何其他依赖项。但是,我很清楚,用户统计小模块是一个独立的组件,由仪表板和用户配置文件大模块使用


我的问题是,如何向我的仪表板和概要文件大模块公开用户统计信息小模块

模块无论如何都应该交互,模式的思想是将这种交互解耦,因此它们不应该直接交互,但可以通过使用订阅/发布事件的核心中介进行交互


您可以在仪表板模块中发布带有附加数据的事件,例如,
displayUserStats
事件,并在小型模块中订阅该事件。

因此,我应该将小型模块视为独立模块。仍然需要澄清的是Dom内容的呈现。仪表板和用户配置文件具有不同的HTML模板,用户统计信息在大模块中的不同位置呈现。:-?好的,您可以稍微紧密地耦合模块,创建
Core.getModule
函数。无论如何,由于您正在渲染模板,因此需要某种方法将部分模板渲染委托给另一个模块/函数。这也可以通过事件来实现。Core.getModule是我想到的第一个想法。。。我的沙盒是用一个dom目标作为参数之一实例化的,使附加只发生在目标dom节点中。我找到了我的答案!:)我可以使用getModule,并将小模块的目标设置为inMemory创建的目标,大模块在将内容附加到模板时将使用该目标!