dojo.require("esri.xxx");是否必须的,在什么情况下需要,什么情况下不需要?
在维护以前的一个arcgis js项目,用的早期的Legacy Module Require方式,有些问题不是很明白:
在新建一个对象之前,必须要使用dojo.require("esri.xxx");将模块引入吗?还是直接可以new,只不过加上命名空间全名即可?
如下代码:
var layer = new esri.layers.ArcGISTiledMapServiceLayer(url);
按理说需要dojo.require("esri.layers.agstiled");
但是,目前没有这条语句,依旧可以运行。
我看了esri官方早期在很多场合的ppt,有这个代码片段
都是需要先"dojo.require("esri.map");",我注释掉该行代码,程序照样可以运行。
那么问题来了,dojo.require("esri.xxx");是否必须的,在什么情况下需要,什么情况下不需要?
在新建一个对象之前,必须要使用dojo.require("esri.xxx");将模块引入吗?还是直接可以new,只不过加上命名空间全名即可?
如下代码:
var layer = new esri.layers.ArcGISTiledMapServiceLayer(url);
按理说需要dojo.require("esri.layers.agstiled");
但是,目前没有这条语句,依旧可以运行。
我看了esri官方早期在很多场合的ppt,有这个代码片段
<script type="text/Javascript">
dojo.require("esri.map");
dojo.addOnLoad(function ()
{
var MyMap = new esri.Map("MyMapDiv");
var MyTiledMapServiceLayer = new esri.layers.ArcGISTiledMapServiceLayer
("http://www.arcgisonline.cn/Arc ... 6quot;);
MyMap.addLayer(MyTiledMapServiceLayer)
}
)
</script>
都是需要先"dojo.require("esri.map");",我注释掉该行代码,程序照样可以运行。
那么问题来了,dojo.require("esri.xxx");是否必须的,在什么情况下需要,什么情况下不需要?
3 个回复
rongc
赞同来自:
现在不要这样写了,新版API不再支持这种写法,通过AMD的方式去引入。API官网有详细说明。
binghuan123 - 80后
赞同来自:
narutogis - http://www.narutogis.com
赞同来自:
要回复问题请先登录或注册
发起人
相关问题
问题状态