文字列からオブジェクトをインスタンス化するモジュールがいくつかあります。クラス/オブジェクトなどがグローバルスコープにある場合、これは通常簡単ですwindow
new window["MyClass"]()
require JS を使用すると、モジュールはwindow
スコープ内になくthis
、クラス内にある場合はオンになりません。
私が必要とする範囲を知っていますか?
define(['testclassb'], function(TestClassB) {
var TestClassA, testclassa;
TestClassA = (function() {
function TestClassA() {
console.log("A");
new this["TestClassB"](); #errors with undefined function
new window["TestClassB"](); #errors with undefined function
new TestClassB(); #works fine
}
TestClassA.prototype.wave = function() {
return console.log("Wave");
};
return TestClassA;
})();
testclassa = new TestClassA();
return testclassa.wave();
});