我有像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中是否有实用的方法来解决这些问题?
答案 0 :(得分:1)
这是实用的方法。我的意思是,这就是你用任何语言做到的,不仅仅是在Dojo。如果一个对象需要另一个对象,则将其添加为属性/字段并进行设置。
您唯一能做的就是将new MyMap()
代码移到一个单独的模块中,并将该模块加载到module1,module2,module3,....这样主应用程序就不需要提供依赖项了。