$.getScript(app.modulePath+'/'+ moduleName+'.js') //include file
.done(function()
{
app.loadedModules.push(moduleName); //track loaded modules
app.currentModule = moduleName; //assign module name to object property
});
我正在加载javascript模块,因为我需要它们,但是在引用它们时遇到了问题。 要按名称加载模块,我使用字符串并将字符串指定为currentModule。但它是一个字符串。如何分配与字符串同名的加载对象。
示例:
Images.js
var Images = (function()
{
return {
allImages: function(){},
oneImage: function(){}
};
});
app.js
var moduleName = 'Images';
$.getScript(moduleName).done(function()
{
myApp.currentModule = moduleName;
//how to reference currentModule as object
});
答案 0 :(得分:2)
您可以使用全局对象:
window[moduleName].allImages();
答案 1 :(得分:1)
根据我的理解你的问题是创建模块对象并确定它是对的吗?如果我错了,请在评论中告诉我
所以这是解决问题的方法
app.js
var moduleName = 'Images';
$.getScript(moduleName+'.js').done(function()
{
myApp.currentModule = new window[moduleName]();
console.log(myApp.currentModule)
});