まず第一に、これがこのライブラリを使用する正しい方法かどうかはわかりません。モジュールで複数の関数/静的メソッドを定義し、それらをモジュールのスコープ内で使用したいと考えています。例えば:
define({
foo: function() {
return "Hello";
},
bar: function() {
alert( this.foo() );
}
});
Main.js
require( ['foobar'], function( foobar) {
foobar.bar(); // works
$('body').click( foobar.bar ); // crash - Object #<HTMLBodyElement> has no method 'foo'
});
bar()
イベントによってトリガーされた場合、このコードは機能しません。これは、明らかthis
にそのスコープで何かが異なることを意味するためです。define()
定義されたオブジェクトを参照し、コード内からメソッドと属性にアクセスできるようにするグローバル変数はありますか?