我有一个js文件,只是使用dojo提供语句来为对象提供命名空间。 它是一个简单的设置文件,将在整个应用程序中引用设置。 所以我没有专门为这些属性创建一个类(模块),而是想在我的app js文件中给它一个名称空间和引用。
这就是我所拥有的
dojo.provide('app');
dojo.require('settings');
dojo.ready(function(){
console.log("settings = ", settings.obj.prop1);
});
然后在我的settings.js
中dojo.provide('settings');
var obj = {
prop1:'property 1',
prop2:'http://fdsfsdfs'
}
console.log("settings module loaded");
当我在app.js中使用required时,它会显示settings.js已加载,因为控制台跟踪显示我已加载。 但是当我尝试对设置内部的obj进行跟踪时,它的定义是未定义的。
答案 0 :(得分:1)
您正在定义全局变量obj。您应该在内部设置中定义您想要的位置
settings.obj = { ... };
而不是
var obj = { ... }