ArcGIS Web客户端开发(附录)关于Dojo的基本知识
来源:互联网 发布:北京知金教育 编辑:程序博客网 时间:2024/06/06 18:42
附录:关于Dojo的基本知识
ArcGIS API for JavaScript是基于Dojo开发的, Dojo包括按钮、格网、树、图表和其他的界面组件,并主要由3部分组成:
(1)Core-核心包;
(2)Dijit-主题界面组件;
(3)DojoX-各种扩展组件,如图表等。
ArcGIS API for JavaScript完全支持利用异步模块定义(Asynchronous Module Definition,AMD)风格的代码创建JavaScript对象和模块。由于使用Dojo对Javascript的部分能力进行了封装,因此,要理解其原理,必须理解以下几个Dojo命令,这都属于Dojo的core部分,由于Dojo也在不断发展,需注意现行版本与以前的区别。
(1)dojo.require:类似 <script>标签,用于从特定包中导入JS脚本到当前脚本页。
...
// legacy
dojo.require("esri.map");
// AMD
require(["esri/map", ... ], function(Map, ... ){ ... });
...
因此,如果在后续脚本中用到API的对象或方法等,都应用require先申明一下,如:
....
require([
"esri/map",
"esri/tasks/GeometryService",
"esri/layers/ArcGISTiledMapServiceLayer",
"esri/layers/FeatureLayer",
"esri/Color",
"esri/symbols/SimpleMarkerSymbol",
"esri/symbols/SimpleLineSymbol",
"esri/dijit/editing/Editor",
"esri/dijit/editing/TemplatePicker",
"esri/config",
"dojo/i18n!esri/nls/jsapi",
"dojo/_base/array", "dojo/parser", "dojo/keys",
"dijit/layout/BorderContainer", "dijit/layout/ContentPane",
"dojo/domReady!"
], function(
Map, GeometryService,
ArcGISTiledMapServiceLayer, FeatureLayer,
Color, SimpleMarkerSymbol, SimpleLineSymbol,
Editor, TemplatePicker,
esriConfig, jsapiBundle,
arrayUtils, parser, keys
) {
//代码区
});
(2)dojo.ready (or dojo.addOnLoad):类似 <body onload="">标签.它帮助注册页面加载时初始化的脚本模块。
...
// legacy
dojo.ready(init);
// AMD
require(["dojo/ready"], function(ready){
ready(function(){
// This function won't run until the DOM has loaded and other modules that register have run.
});
});
...
(3)dojo.connect:类似DOM组件的JavaScript函数Element.addEventListener和Element.attachEvent。 主要用于登记页面中或页面特定组件的事件、消息处理函数。
...
// legacy
dojo.connect(myMap, "onLoad", myLoadHandler);
// AMD
require(["esri/map", "dojo/on"], function(Map, on) {
// ...
on(myMap, "load", callback);
});
...
(4)dojo.byId:类似 JavaScript函数document.getElementById(id),主要用于通过id获得页面中对象id
...
dojo.byId("myInputField").value = myMap.id;
...
- ArcGIS Web客户端开发(附录)关于Dojo的基本知识
- ArcGIS客户端开发学习笔记(四)——Dojo基础
- ArcGIS Web客户端开发(一)开发环境准备
- ArcGIS Web客户端开发(二)打开地图
- ArcGIS Web客户端开发(四)处理事件和消息
- Arcgis Server JS 开发,一个奇怪的问题(dojo未定义、机器名不能访问)
- Dojo基本知识
- 关于ArcGIS API for JavaScript与Dojo
- 关于ArcGIS API for JavaScript与Dojo
- 关于ArcGIS API for JavaScript与Dojo
- 关于ArcGIS API for JavaScript与Dojo
- ArcGIS Web客户端开发(三)在地图上绘制图形
- 基于Dojo的JavaScriptWeb客户端界面控件开发
- Web开发入门基本知识
- arcgis客户端开发---查询
- 关于客户端的开发
- Web开发基本概念之Dojo
- web地图(arcgis for javascript)开发中关于map.resize和map.reposition的bug
- 二维码的使用
- win10下SOPC Builder 在generate时出现could not find /tmp, please create
- Anaconda之二——Anaconda更新失败解决办法
- [BZOJ4826][HNOI2017]影魔-单调栈-线段树
- File的运用1
- ArcGIS Web客户端开发(附录)关于Dojo的基本知识
- this指向的4种场景
- Active MQ 管理界面介绍
- 为什么要用 ORM? 和 JDBC 有何不一样?
- 用两个栈实现队列的功能和用两个队列实现栈的功能
- 记中国银联实习面试
- APARNET阿帕网
- sysctl命令
- jsp a标签如何传值,如何接受