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 相关文章推荐
checkbox 复选框不能为空
Jul 11 Javascript
jQuery maxlength文本字数限制插件
Apr 16 Javascript
JavaScript 设计模式 富有表现力的Javascript(一)
May 26 Javascript
Jquery中获取iframe的代码
Jan 11 Javascript
js实现选中复选框文字变色的方法
Aug 14 Javascript
jQuery手机拨号界面特效代码分享
Aug 27 Javascript
js弹出对话框方式小结
Nov 17 Javascript
js正则表达式注册页面表单验证
Oct 11 Javascript
vue返回上一页面时回到原先滚动的位置的方法
Dec 20 Javascript
如何使用50行javaScript代码实现简单版的call,apply,bind
Aug 14 Javascript
JavaScript this关键字指向常用情况解析
Sep 02 Javascript
Vue图片裁剪组件实例代码
Jul 02 Vue.js
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遍历文件夹与子目录的函数代码
2011/09/26 PHP
PHP的5个安全措施小结
2012/07/17 PHP
php 创建以UNIX时间戳命名的文件夹(示例代码)
2014/03/08 PHP
PHP实现图片旋转效果实例代码
2014/10/01 PHP
JS 学习笔记 防止发生命名冲突
2009/07/30 Javascript
javascript appendChild,innerHTML,join性能比较代码
2009/08/29 Javascript
jquery实现动态操作select选中
2015/02/11 Javascript
jQuery插件开发精品教程(让你的jQuery更上一个台阶)
2015/11/07 Javascript
JavaScript实现字符串与日期的互相转换及日期的格式化
2016/03/07 Javascript
jquery实现界面无刷新加载登陆注册
2016/07/30 Javascript
js/jq仿window文件夹框选操作插件
2017/03/08 Javascript
Vue2.0中三种常用传值方式(父传子、子传父、非父子组件传值)
2018/08/16 Javascript
如何利用vue+vue-router+elementUI实现简易通讯录
2019/05/13 Javascript
微信公众号平台接口开发 菜单管理的实现
2019/08/14 Javascript
html+vue.js 实现漂亮分页功能可兼容IE
2020/11/07 Javascript
Python多线程实例教程
2014/09/06 Python
python方法生成txt标签文件的实例代码
2018/05/10 Python
Python实现的调用C语言函数功能简单实例
2019/03/13 Python
详解Matplotlib绘图之属性设置
2019/08/23 Python
python读写Excel表格的实例代码(简单实用)
2019/12/19 Python
python怎么删除缓存文件
2020/07/19 Python
英国领先的办公用品供应商:Viking
2016/08/01 全球购物
Move Free官方海外旗舰店:美国骨关节健康专业品牌
2017/12/06 全球购物
护士毕业自我鉴定
2014/02/07 职场文书
《每逢佳节倍思亲》教后反思
2014/04/19 职场文书
小学综合实践活动总结
2014/07/07 职场文书
党员民主生活会个人整改措施材料
2014/09/16 职场文书
个人学习群众路线心得体会
2014/11/05 职场文书
售票员岗位职责
2015/02/15 职场文书
旅游项目合作意向书
2015/05/08 职场文书
步步惊心观后感
2015/06/12 职场文书
趣味运动会通讯稿
2015/07/18 职场文书
Nginx域名转发使用场景代码实例
2021/03/31 Servers
nginx限制并发连接请求数的方法
2021/04/01 Servers
Golang 编译成DLL文件的操作
2021/05/06 Golang
MySQL 逻辑备份与恢复测试的相关总结
2021/05/14 MySQL