Hello Dojo

2013.04.21

因为ArcGIS Sever需要用到Dojo框架,所以开始学点Dojo,入门阶段

关于Dojo的教程很少,官方教程(英文)http://dojotoolkit.org/documentation/tutorials/1.8/hello_dojo/  ,谭卓的一个视频教程:http://v.youku.com/v_show/id_XNDQzNzM2NzM2.html?f=16591606   也是参照的官方教程。

以下笔记多数为翻译官方教程。

1.Dojo的调用,方式如下

< script src = "//ajax.googleapis.com/ajax/libs/dojo/1.8.3/dojo/dojo.js"

                data-dojo-config = "async: true" > </script>

   同时也可以下载Dojo的源码放在web服务器中,下载地址: http://dojotoolkit.org/download/

< script src = "../dojo/dojo.js"

             data-dojo-config = "async: true" > </script>

注:data-dojo-config="async: true" 即异步加载机制

AMD:Asynchronous Module Definition 异步模块加载机制。AMD的东西需要再看了另外写。

2.定义模块

先新建一个模块myModule

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26

// In demo/myModule.js (which means this code defines
// the "demo/myModule" module):
 
define([
     // 这个模块需要调用dom模块,所以放入相关列表
     "dojo/dom"
], function (dom){
     // 当向相关列表中的所有模块均被加载后,调用此函数以定义myModule模块
     //dom模块作为此函数的第一个参数,相关列表中的其他附加模块随后
 
     var oldText = {};
 
     // 将对象返回为模块定义的值
     return {
//修改文本对象的内容
         setText: function (id, text){
             var node = dom.byId(id); //通过dom.byId(id)获取对象
             oldText[id] = node.innerHTML; //获取对象内容innerHTML
             node.innerHTML = text; //修改对象内容为text的值
         },
//恢复对象的内容
         restoreText: function (id){
             var node = dom.byId(id);
             node.innerHTML = oldText[id];
             delete oldText[id];
         }
     };
});

定义的模块有一个附属模块即dom,它的值是定义了两个方法的对象

.................CDN的部分还不太明白暂时省略....................

3.调用模块

1
2
3
4
5
6
7
8
9
10
// Require the module we just created
require([ "demo/myModule" ], function (myModule){
     // Use our module to change the text in the greeting
     myModule.setText( "greeting" , "Hello Dojo!" );
 
     // After a few seconds, restore the text to its original state
     setTimeout( function (){
         myModule.restoreText( "greeting" );
     }, 3000);
});

setTimeout() 方法用于在指定的毫秒数后调用函数。




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值