在应用程序中使用全局对象的javascript dojo工具包

时间:2014-02-20 08:59:24

标签: javascript dojo

我有像google maps api这样的mappping应用程序。在这个应用程序中我创建了不同的模块。我的大多数模块都使用 Map 对象,它是应用程序中的底图。

例如:

模块1

define(["dojo/_base/declare"], function(declare){
  return declare(null, {
    constructor: function(){
         //..... use map .....
    }
  });
});

模块2

单词数

.....

和主要应用程序启动

require(["dojo/ready", "my/module1"], function(ready, fx){
     ready(function(){
           var map = new MyMap(); // this will use in other modules
     });
});

我可以在module3中调用module2或在module4中调用module3,但是大多数都使用在主模块中创建的 map 对象。

我将map对象传递给构造函数级别的模块。在dojo或javascript中是否有实用的方法来解决这些问题?

1 个答案:

答案 0 :(得分:1)

这是实用的方法。我的意思是,这就是你用任何语言做到的,不仅仅是在Dojo。如果一个对象需要另一个对象,则将其添加为属性/字段并进行设置。

您唯一能做的就是将new MyMap()代码移到一个单独的模块中,并将该模块加载到module1,module2,module3,....这样主应用程序就不需要提供依赖项了。