在dojo结构中直接调用对象

时间:2011-09-19 18:02:13

标签: dojo

我有一个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进行跟踪时,它的定义是未定义的。

1 个答案:

答案 0 :(得分:1)

您正在定义全局变量obj。您应该在内部设置中定义您想要的位置

settings.obj = { ... };

而不是

var obj = { ... }