Dojo 学习要点


Posted in Javascript onSeptember 03, 2010

由于要学习 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中
Javascript 相关文章推荐
EASYUI TREEGRID异步加载数据实现方法
Aug 22 Javascript
javascript获取浏览器类型和版本的方法(js获取浏览器版本)
Mar 13 Javascript
Vue.js 2.0 和 React、Augular等其他前端框架大比拼
Oct 08 Javascript
JavaScript算法教程之sku(库存量单位)详解
Jun 29 Javascript
关于Ajax的原理以及代码封装详解
Sep 08 Javascript
javascript 开发之网页兼容各种浏览器
Sep 28 Javascript
js注册时输入合法性验证方法
Oct 21 Javascript
AngularJS实现自定义指令及指令配置项的方法
Nov 20 Javascript
使用Bootstrap + Vue.js实现表格的动态展示、新增和删除功能
Nov 27 Javascript
vue实例的选项总结
Jun 09 Javascript
vue键盘事件点击事件加native操作
Jul 27 Javascript
Vue + ts实现轮播插件的示例
Nov 10 Javascript
jquery.simple.tree插件 更简单,兼容性更好的无限树插件
Sep 03 #Javascript
基于JQuery的6个Tab选项卡插件
Sep 03 #Javascript
Jquery中dialog属性小记
Sep 03 #Javascript
javascript中使用css需要注意的地方小结
Sep 01 #Javascript
js截取函数(indexOf,join等)
Sep 01 #Javascript
qTip 基于JQuery的Tooltip插件[兼容性好]
Sep 01 #Javascript
jQuery选中select控件 无法设置selected的解决方法
Sep 01 #Javascript
You might like
PHP 字符串编码截取函数(兼容utf-8和gb2312)
2009/05/02 PHP
php+mysql删除指定编号员工信息的方法
2015/01/14 PHP
php查询mysql大量数据造成内存不足的解决方法
2015/03/04 PHP
Laravel使用Caching缓存数据减轻数据库查询压力的方法
2016/03/15 PHP
PHP使用token防止表单重复提交的方法
2016/04/07 PHP
PHP命令行执行整合pathinfo模拟定时任务实例
2016/08/12 PHP
PHP count()函数讲解
2019/02/03 PHP
基于jquery的一行代码轻松实现拖动效果
2010/12/28 Javascript
浅谈javascript语法和定时函数
2015/05/03 Javascript
更高效的使用JQuery 这里总结了8个小技巧
2016/04/13 Javascript
关于 jQuery Easyui异步加载tree的问题解析
2016/12/06 Javascript
深入解析Vue 组件命名那些事
2017/07/18 Javascript
vue.js 实现图片本地预览 裁剪 压缩 上传功能
2018/03/01 Javascript
微信小程序实现横向增长表格的方法
2018/07/24 Javascript
jQuery实现简单的Ajax调用功能示例
2019/02/15 jQuery
js贪心算法 钱币找零问题代码实例
2019/09/11 Javascript
layui内置模块layim发送图片添加加载动画的方法
2019/09/23 Javascript
jQuery实现放大镜案例
2020/10/19 jQuery
Javascript执行上下文顺序的深入讲解
2020/11/04 Javascript
JavaScript ES 模块的使用
2020/11/12 Javascript
Python最基本的数据类型以及对元组的介绍
2015/04/14 Python
python实现根据ip地址反向查找主机名称的方法
2015/04/29 Python
Windows下python3.6.4安装教程
2018/07/31 Python
Python爬虫制作翻译程序的示例代码
2021/02/22 Python
AmazeUI中模态框的实现
2020/08/19 HTML / CSS
Footshop罗马尼亚:最好的运动鞋选择
2019/09/10 全球购物
异步传递消息系统的作用
2016/05/01 面试题
Java servlet面试题
2012/03/04 面试题
干部现实表现材料
2014/02/13 职场文书
财务部副经理岗位职责
2014/03/14 职场文书
消防安全标语
2014/06/07 职场文书
党支部特色活动方案
2014/08/20 职场文书
县政府班子个人对照检查材料
2014/10/05 职场文书
2015年小学远程教育工作总结
2015/07/28 职场文书
使用react+redux实现计数器功能及遇到问题
2021/06/02 Javascript
Redis分布式锁Redlock的实现
2021/08/07 Redis