问题标签 [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.

0 投票
2 回答
417 浏览

javascript - Javascript 协助

我遇到的问题是针对不同元素多次调用该函数时。我相信我需要本地化所有变量,以便可以将这个函数用于多个元素。万一这很重要,我还会调用 jquery 1.3。

如果我只调用 pageSlide 一次,一切都很好,但是一旦我多次调用它就会很痛苦。没有错误,只是不稳定的行为。

代码已更新

上面的代码没有错误但无法工作。当我使用 this 关键字时,它并没有变得更好。

我的问题是哪些变量应该是“this.”。我尝试了各种我认为可行的组合,但我错过了一些东西。

0 投票
3 回答
23224 浏览

c# - Ninject 模块的目的是什么?

我是 ninject 的新手

我一直在拆开别人的代码,发现了几个 nInject 模块的实例——派生自 Ninject.Modules.Module 的类,并且有一个包含大部分代码的加载方法。

通过调用 StandardKernel 实例的 LoadModule 方法并将模块类的实例传递给它来调用这些类。

也许我在这里遗漏了一些明显的东西,但是与仅仅创建一个普通的旧类并调用它的方法或可能是一个带有静态方法的静态类相比,这样做有什么好处?

 

0 投票
2 回答
1006 浏览

javascript - javascript插件 - 面向对象?

介绍

你好,

我正在尝试在javascript中开发一些插件/对象,它将控制某些对象的某些属性。它还将使用 jQuery,以简化开发。

主意

这是伪代码给你一个想法,因为我不能用正确的词用英语描述它,所以不可能去使用谷歌找出我想使用(和学习)的东西。

我会以这种方式(或某种方式)使用它:

笔记

我并不是真的在寻找 jQuery 插件教程——它更像是在 javascript 中使用文档中的一个对象,之所以提到 jQuery,只是因为它将用于修改 dom 和简化选择器,jQuery 插件可能只是为了那个小功能add

我正在寻找一些东西,它将位于我的文档之上,并根据计时器或用户操作或其他任何东西从 selft 调用函数。

问题

  1. 我真的不知道从哪里开始构建这个对象/插件
  2. 我不太确定如何维护一个变量,它是 jQuery 对象的集合(类似于$('#simple, #simple2');
  3. 我可能想扩展 jQuery$.fn.addToPlugin以使用对象链接,但这应该很简单(真的只是each( p.add($(this)); )
  4. 我最大的问题显然是我无法解释我想要什么。

我希望我有任何意义,想法,链接或建议受到赞赏。

编辑

是这样的,我只是不知道它是如何在 javascript 中调用/使用的 - 伪 PHP 中的示例:

0 投票
5 回答
12601 浏览

javascript - JavaScript 模块模式 - 使用“return this”怎么样?

在阅读了有关模块模式的一些内容后,我看到了一些返回您想要公开的属性的方法。

最常见的方法之一是在“return”语句中声明您的公共属性和方法,除了您的私有属性和方法。类似的方式(“Revealing”模式)是提供对您想要公开的属性和方法的简单引用。最后,我看到的第三种技术是在模块函数中创建一个新对象,在返回该对象之前为其分配新属性。这是一个有趣的想法,但需要创建一个新对象。

所以我在想,为什么不直接使用this.propertyName分配你的公共属性和方法,最后使用return this呢?这种方式对我来说似乎更简单,因为您可以使用通常的varfunction语法创建私有属性和方法,或者使用this.propertyName语法来声明您的公共方法。

这是我建议的方法:

使用上述方法有什么优点/缺点吗?其他人呢?

0 投票
3 回答
5162 浏览

javascript - 将模块模式用于大型项目

我有兴趣使用模块模式来更好地组织我未来的项目。不幸的是,模块模式只有几个简短的教程和概念验证示例。

使用模块模式,我想将项目组织成这种结构:

其中“project”是我的全局项目名称,“arm”是项目的子部分或分支,“object”是单个对象,以此类推到方法和属性。

但是,我不确定我应该如何在“项目”下声明和组织多个“武器”和“对象”。

在定义复杂的模块结构时是否有任何最佳实践或约定?我应该在最后一个下面声明一个新的手臂/对象吗?

0 投票
3 回答
731 浏览

javascript - 从 JavaScript 构造函数返回对象时(避免“新”)如何实现公共成员?

我已经开始编写我的“类”类型 JavaScript 函数,例如 Module Pattern 或 Revealing Module patten。这避免了使用“新”,并允许我在一个地方定义哪些函数是公共的。但是,我一直无法看到如何在这种模式下使用和访问公共数据成员。

例如,下面的成员“id”可通过 myobj.getId() 访问,但 myobj.id 未定义。

有没有办法让 myobj.id 返回在 initialize() 中设置的值?

0 投票
2 回答
2355 浏览

javascript - Javascript 模块模式能否用于单例以及多次实例化的对象?

我有一页有两种类型的表格。我在顶部有一个 A 型的形式,然后在它下面有一个或多个 B 型的形式。

我使用模块模式 + jQuery 来连接表单上的所有事件、处理验证、ajax 调用等。

这是定义单例(如表格 A)和可重用对象类(如表格 B)的首选/有效方式吗?它们非常相似,我不确定是否需要使用 objectprototype属性new、 或不同的模式。一切似乎对我有用,但我担心我错过了一些关键错误。

Form Ajavascript看起来像这样:

Form B,它被初始化一次或多次,定义如下:

0 投票
1 回答
1362 浏览

javascript - 如何在不访问包含范围内的内容的情况下安全地访问 Javascript 模块模式中的其他同级函数和变量?

我有一个按照模块模式构建的 Javascript 对象。我有几个私有函数,它们是从其他兄弟“私有”函数调用的。如何访问另一个变量/函数而不会意外访问全局/外部变量/对象/函数?

我的猜测是上面的代码实际上会访问正确的内部doSomething函数,但我想要更多的安全性。我怎样才能显式地处理内部/嵌套函数,而不必担心意外调用函数或在我的单例范围内寻址对象?

0 投票
2 回答
120 浏览

asp.net-mvc-2 - 限制对 ASP.NET MVC 中“功能模块”的访问

我正在使用 ASP.NET 4 和 MVC2 构建一个具有高级功能的站点,例如仅对付费订阅者可用的 SMS 通知。我还有额外的模块,比如库存和交易等

我已经在利用标准的 MembershipProvider,并且倾向于使用 Roles tp 来提供此功能。即:拥有一个“SMSModule”角色,如果他们为附加 SMS 服务付费,用户将获得该角色

这使得控制器很简单,带有一点属性装饰,但我看到的问题是会有一堆条件代码分散在我的视图等中

有没有更好的方法在 .NET 4 和 MVC2 中提供“模块”风格的方法???

0 投票
3 回答
33140 浏览

javascript - Javascript:模块模式与构造函数/原型模式?

我想知道模块模式或 Constructor/protoType 模式是否更适用于我的工作。

基本上我使用的是不显眼的 javascript——HTML 文档引用了 .js 文件。

我对模块模式的理解:

  • 调用一个 INIT 方法(这基本上是一个我可以使用模块模式创建和返回的公共方法)
  • 在 INIT 方法中,分配所有点击事件等。

这听起来像是适合我的情况的完美模式,因为我不需要创建对象和继承层次结构等。

我对构造函数/原型模式的理解:

  • 用于创建对象
  • 用于使用继承(即超类型的子类型)

我是否正确,对于提供不显眼的 javascript,模块模式是理想的?