Dojo 学习要点
由于要学习 ArcGIS Server JavaScript API,在此 API 中 ESRI 采用的是 JavaScript 开源框架 Dojo,于是先学习了点 Dojo 的知识,算是为以后的工作做准备吧。
其实开源 JavaScript 框架很多,比如最早的 prototype,很实用的 jQuery,Yahoo 的 Yui,超炫的 ExtJS 等,至于为什么 ESRI 采用 Dojo,我们也不必去猜测,肯定有人家的道理滴,好好学习 Dojo 才是硬道理。
学习 Dojo 之前,务必要掌握一些必要的J avaScript 知识,如 json 等。由于以前 JavaScript 自认为学的还可以,ExtJS 也算是入门了,相对来说学习 Dojo 容易很多了。
现在 Dojo 的最新版本是 1.5.0 版,在其官网上可以下载到 dojo-release-1.5.0.zip 压缩文件。
言归正传,下面为自己的一些学习要点,就权当是做个私人笔记吧。
1,通过dojo.require以类似C编程中#include或者Java中import的方式加载所需的部件
如dojo.require("dojo.parser");dojo.require("dijit.form.Button");
2,跨域自定义模块
Dojo配置,djConfig="baseUrl:'./'"
注册模块的路径,dojo.registerModulePath("dtdg","./dtdg");
加载自定义模块,dojo.require("dtdg.foo");
3,本地工具箱模块
直接加载自定义模块,dojo.require("dtdg.foo");
4,为对象注册事件
dojo.connect();
5,json和字符串之间转换
dojo.fromJson(/*String*/ json);//返回JavaScript对象,json对象
dojo.toJson(/*Object*/ json, /*Boolean*/ prettyPrint);//返回字符串
6,Ajax通信
dojo.xhrGet(/*Object*/ args);dojo.xhrPost(/*Object*/ args);
dojo.xhr(/*String*/ method, /*Object*/ args, /*Boolean?*/ hasBody);
7,本地化
djConfig="dojo.local:'zh'"
8,控件、布局等都在dijit中