ags js api学习之dojo初步

1、下载工具包http://dojotoolkit.org/download/,解压后如下图所示:

说明:(1)dijit是dojo中界面控件的总称,每个Dijit控件都是由Dojo类以及控件中使用的图片,CSS等资源文件共同组成;

(2)dojo里面包含核心类dojo.js

2、新建HTML文档,引用dojo.js文件和CSS文件,分两种方式:

(1)在线引用

(2)本地引用:将解压后文件部署到服务器目录,然后本地引用

<link rel="stylesheet"href="http://localhost/arcgis_js_api/library/3.3/jsapi/js/dojo/dijit/themes/claro/claro.css"/>

<scriptsrc="http://localhost/arcgis_js_api/library/3.3/jsapi/js/dojo/dojo/dojo.js"data-dojo-config="asyc:true,parseOnLoad: true,idDebug:true"></script>

注意:1)asyc选项用来通知AMD Loader使用新的、快速的方法加载javascript模块

2)idDebug设置为true可以方便开发时获得适当的警告信息

3)parseOnload已经被淘汰,不建议使用

3、使用(以dijit为例)

在dojo中创建dijit分两种方式:

(1)通过HTML标记以声明方式创建

(2)通过javascript代码动态创建

以第一种方法为例:

// 声明HTML按钮

<button id=”btn1” type=”button” name=”btnName1”>testBtn </button>

// 声明dijit按钮

<button id=”btn2” data-dojo-type=”dijit.form.Button”name=”btnName2”> testBtn2</button>

说明:1)二者区别在于type属性变化

2)dijit.form.Button是dojo中预定义模块,具体类如Button是大写

3)老版本(v1.7之前?)定义为datatype,新版本定义为data-dojo-type(为兼容HTML5),推荐使用新版本

4、访问dijit控件及其属性

(1)想要获取一个特定的dom节点,老方法是通过document.getElementsById(..),dijit中提供了更为简洁的方法,即dijit.byId(id),来获取相应控件的引用。另外,如果创建Dijit控件时使用的Dom节点有id属性,那么这个id就是Dijit控件的id;如果Dom节点没有指定id,那么将会自动为Dijit控件产生一个唯一id。

Var cuBtn = dijit.byId(‘btn2’);

(2)获取dijit控件的某个属性,例如

Var btnName = dijit.byId(‘btn2’).attr(‘name’);

(3)设置dijit控件的某个属性,例如

Dijit.byId(‘btn2’).attr(‘name’,”hehe”);

5、dojo引入模块

dojo中的模块都是可以单独加载、相互独立的部分,通过类似文件路径的字符串来标识模块。例如,在Dojo1.7或更高版本中,my/module/id 是一个模块的标识符(MID)。实际上,这些模块标识符(MID)会直接印射到JavaScript文件,也就是说,my/module/id,将会让Dojo加载器来加载 my/module/id.js 文件中定义的模块。

为了在应用程序中使用和定义模块,Dojo加载器(dojo.js)中定义了两个全局函数:require()——用于加载一个或多个模块,以及 define() ——用于定义一个模块。这两个函数通常需要两个参数:一个MID列表来指定必须加载的模块,以及一个回调函数。

6、dojo事件绑定

使用dojo的connect方法来实现事件的绑定,例如

Dojo.connect(dijit.byId(‘btn2’),’onclick’,clickFunc);

7、丰富的dijit控件集

  • 上下文菜单,弹出菜单,按钮式菜单
  • 改进的基本表单元素:按钮,下拉框,复选款,单选按钮,文本框,等等。
  • 日期和时间选择控件
  • 所见即所得富文本编辑器
  • 水平和垂直滑动块
  • 进度条
  • 选项卡、手风琴控件
  • 支持拖放功能的树结构
  • 对话框,提示框
  • 支持调整大小的布局控件

控件扩展:如果在基本的dijit库中没有你需要的控件,dojox(dojo扩展)是另外一个提供Dijit控件的地方,其中有更大量的控件可供选择

8、学习资源

(1)http://dojotoolkit.org/documentation/

(2)http://dojotoolkit.org/api/

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值