У меня возникли проблемы с поиском наилучшего способа реализовать это.
Я хочу модуль, который имеет конструктор, который принимает аргумент, который хранит его для последующего использования в модуле.
var ModuleB = function(moduleA) {
this.moduleA = moduleA;
}
ModuleB.prototype = function() {
//private stuff/functions
function someMethod() {
moduleA.doSomething();
}
//public api
return {
someMethod : someMethod
};
}();
В другом файле
//ModuleA defined elsewhere
var moduleA = new ModuleA();
//...
var module = new ModuleB(moduleA);
module.someMethod();
Теперь, выше в someMethod
, moduleA не определен, и this
глобальный объект окна. Может кто-нибудь объяснить, как получить доступ к модулю? Я не понимаю, что происходит с this.moduleA = moduleA;
после конструктора. Я не разработчик javascript, поэтому, если я использую неправильный шаблон здесь или что-то, не стесняйтесь звонить.