これを実装する最良の方法を考え出すのに少し問題があります。コンストラクタを使用したモジュールパターンの表示
モジュール内で後で使用できるように引数を格納するコンストラクタを持つモジュールが必要です。 someMethod
で今以上
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();
、moduleAは未定義であり、this
、グローバルwindowオブジェクトです。誰かが私がmoduleAにアクセスする方法を説明できますか?私はコンストラクタの後にthis.moduleA = moduleA;
に何が起こるか理解していません。私はチャイム気軽に、ここで間違っパターンか何かを使用していますので、もし私が本当にjavascriptの開発者ではないよ
例をもっと明確にするように更新しました –
@cfiddleが動作する唯一の理由は、 'moduleA'がグローバルであるためです。 – jbabey