问题标签 [revealing-module-pattern]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - 如何在显示原型模式中分配事件?
我正在尝试实现显示模块模式。我需要为其中一个元素分配一个事件处理程序,这个事件处理程序是我在原型中定义的一个函数,但我得到this.trigger is not a function error。
这是我所做的:
我是这样称呼它的:
javascript - 为什么我们在显示模块模式中使用自执行函数?
多年来,我一直在积极使用揭示模块模式,但有一些事情我想更深入地了解。据我了解,自动执行功能的潜在好处是匿名性和自动执行,在这种特定模式中,这两者似乎都没有必要/未使用。我不明白的另一件事是,在下面的场景中,可以将函数 Init 包装在 SocialMedia 函数()中,即嵌入式函数,自执行函数似乎是 JS 中非常独特的构造,是我们可以将属性值分配给自执行代码块,这不奇怪吗?
javascript - 在显示模块模式中公开私有变量
我正在尝试实现显示模块模式,但我无法公开修改后的私有属性。
javascript - 使用 jQuery 确定“显示模块模式”模块的范围
假设我有这个模块,我希望它自行初始化并附加到它的范围内。像这样:
现在,问题是,这self
总是window
. 我不想要那个。我希望它成为 jQuery 调用和加载它的范围$.getScript()
,如下所示:
有没有办法破解这个?
javascript - 使用显示模块模式时,如何在 Eclipse 中查看大纲?
我目前正在重构我们拥有的一些 Javascript 代码,除此之外,我已经对其进行了更改以利用显示模块模式。代码看起来更整洁,工作正常,但我在大纲视图中看不到这些功能。我将顶级命名空间 var 视为 var,但您无法扩展它以查看其中的函数。
假设以前的代码看起来像这样:
在这种情况下,您可以在大纲视图中看到这两个功能。但是如果你把它改成这样:
然后大纲视图只向您显示 myNamespace 变量。我尝试过寻找,但找不到真正能正确显示层次结构的视图。有谁知道查看这个的方法,或者是 Eclipse 无法做到这一点的情况?
design-patterns - Knockout.js:View-Model 函数返回代码?
感谢John Papa 的精彩教程。我尽力使用 knockout.js 为我的 ViewModel 实现显示模块模式
这是一个非常简单的例子:
- 有 2 个客户对象。
- 从两个对象中添加 ID 并返回它。
http://jsfiddle.net/ThomasDeutsch/EHYfT/
不知何故,我得到的不是返回的值,而是执行的代码?我希望在屏幕上看到结果“3”:)
我究竟做错了什么?
function - 函数参数在 knockout.js 中未定义
我正在使用 Revealing Module Pattern 在我的 knockout.js 代码中获取一些结构。这是一个非常简单的示例目标:返回 Object 的 Name-Property 的值。问题:函数参数 x 未定义。
http://jsfiddle.net/ThomasDeutsch/8hzhp/
这里到底有什么问题?请帮我解决这个问题。
javascript - Knockout.js:函数参数未定义
我有一个非常简单的例子,它不起作用。
jsfiddle:http: //jsfiddle.net/ThomasDeutsch/8hzhp/3/
问题:参数(x)未定义
目标:返回被调用对象的名称属性 - 我想使用 x 作为属性,以便我可以使用任何具有可观察名称属性的对象调用此函数
代码说明:这是使用带有 knockout.js 的显示模块模式完成的。Name-property 是一个 ko.observable() - 所以需要 ()。
问题:为什么 x 未定义?
mapping - Knockout.js 将 JSON 映射到 observable-array
我想使用 Knockout.js 为我的 REST-Service 构建一个客户端。我有很多我想通过不同的 url 访问的存储库 - 所以我使用 Revealing-Prototype-Pattern 提出了这个解决方案。我的问题:我不知道如何将 ItemsProperty 与我从我的服务收到的“数据”映射。
我认为问题出在:ko.mapping.fromJS(data, self.Items); 但我找不到正确的方法。
问题:我做错了什么?我找到了一个例子 - 我认为他们也在做同样的事情:http: //jsfiddle.net/jearles/CGh9b/
javascript - 揭示模块模式(javascript) - 这不能访问私有方法
:我有一个用“显示模块模式”编写的 javascript 类:
正如您在“methodB”中的“this”中看到的那样,它不识别类的私有方法。
编辑: 我的意图是从公共类中调用一个辅助私有方法。在这个私人课程中,我需要“这个”。如果我直接从 'methodB' 调用 'methodA("a")'(没有 'that')我没有 'this'('this' 将是全局上下文)。解决方案将是: