Dojo学习(一)—Hello Dojo

Dojo框架详解
本文介绍了Dojo框架的基本概念,包括其核心组件、使用方法及AMD机制。并详细讲解了如何利用Dojo进行DOM操作,提供了丰富的示例代码,帮助读者快速上手。

1.Dojo简介:

  是一款优秀的javascript库,包含dojo、dijit、core、dojox等一系列的核心包,功能强大。

2.Dojo使用:

  使用Dojo有两种方式:一种是使用CDNs;另一种是调用本地的Dojo文件。

<script src="http://ajax.googleapis.com/ajax/libs/dojo/1.10.0/dojo/dojo.js" data-dojo-config="async: true"></script>

3.Dojo机制:

    AMD定义了两个全局变量:require和define。使用require可以调用需要的Dojo模块,使用define可以定义自己的模块。

示例:

<script>
        require([
            'dojo/dom',
            'dojo/dom-construct'
        ], function (dom, domConstruct) {
            var greetingNode = dom.byId('greeting');
            domConstruct.place('<i> Dojo!</i>', greetingNode);
        });
    </script>

   AMD采用异步方式,因此需要回调函数,将模块实例传入到回调函数中,但参数顺序一定要和引用模块的顺序一致,命名也最好一致。

   如上例中dojo/domdojo/dom-construct对应后面的dom、domConstruct

  •   使用define定义一个模块

   值得注意的是定义模块的文件位置直接关系到后面的使用路径。

示例:demo/ myModule.js

define([
    // The dojo/dom module is required by this module, so it goes
    // in this list of dependencies.
    'dojo/dom'
], function(dom){
    // Once all modules in the dependency list have loaded, this
    // function is called to define the demo/myModule module.
    //
    // The dojo/dom module is passed as the first argument to this
    // function; additional modules in the dependency list would be
    // passed in as subsequent arguments.
 
    var oldText = {};
 
    // This returned object becomes the defined value of this module 返回的是一个对象
    return {
        setText: function (id, text) {
            var node = dom.byId(id);
            oldText[id] = node.innerHTML;
            node.innerHTML = text;
        },
 
        restoreText: function (id) {
            var node = dom.byId(id);
            node.innerHTML = oldText[id];
            delete oldText[id];
        }
    };
});

使用方式:

  <script>
        require([
            'demo/myModule'
        ], function (myModule) {
            myModule.setText('greeting', 'Hello Dojo!');
 
            setTimeout(function () {
                myModule.restoreText('greeting');
            }, 3000);
        });
    </script>

4.Dojo中的dom/domReady!

  在js中要引用HTML节点为其添加样式、事件等时使用,其作用是等待DOM文件加载完成后,使用js,相当与window.onload的作用。

  要注意的是,该模块必须放置到所有引用模块的后面,在回调函数参数中不必添加。

示例:

require([
    'dojo/dom',
    'dojo/domReady!'
], function (dom) {
    var greeting = dom.byId('greeting');
    greeting.innerHTML += ' from Dojo!';
});

 

参考地址:http://dojotoolkit.org/documentation/tutorials/1.10/hello_dojo/

 

 

转载于:https://www.cnblogs.com/liuzhaoyang/p/3803751.html

分三个包上传时,第三个包好像传不上去,我给整合了下,打在个包里上传了! dojo精品中文教程 Dojo.1.0 Practice Note [1] 什么是dojo 选择dojo的理由 AJAX架构之Dojo篇 Adding Ajax中文版 (DoJo) DOJO学习笔记(七)-日期控件DropdownDatePicker和DatePicker DOJO常用的验证函数 Dojo with Adobe AIR Dojo 工具包教程 Dojo 快速安装 Dojo和JSON建立无限级AJAX动态加载的功能模块树 Dojo学习笔记( 模块与包) Dojo学习笔记-- djConfig解说 Dojo学习笔记-- dojo.dom Dojo学习笔记-- dojo.event & dojo.event.topic & dojo.event.browser Dojo学习笔记--DateTextbox Dojo学习笔记--Dojo的基础对象和方法 Dojo学习笔记--FisheyeList鱼眼效果 Dojo学习笔记--TabContainer Dojo学习笔记--ValidationTextbox Dojo学习笔记--dijit.Dialog Dojo学习笔记--dijit.Menu Dojo学习笔记--dijit.TitlePane Dojo学习笔记--dijit.Tooltip Dojo学习笔记--dijit.Tree Dojo学习笔记--dojo.graphics.color & dojo.uri.Uri Dojo学习笔记--dojo.string & dojo.lang Dojo学习笔记--动态生成widget Dojo学习笔记--开发自己的TitlePane Dojo学习笔记--页面部分区域遮挡,DialogUnderlay Dojo学习笔记(五)-djConfig详解 dojo data 接口详解 dojo0.9 使用心得 dojo学习笔记()-dojo.io.IO & dojo.io.BrowserIO) dojo学习笔记(三) dojo学习笔记(二) dojo.lang.array & dojo.lang.func & dojo.string.extras dojo学习笔记(六)- ContentPane dojo学习笔记(四) dojo的拖拽示例以及疑问! 介绍dojo事件 使用 Dojo 工具包和 JSON-RPC 构建企业 SOA Ajax 客户端 利用Dojo实现拖动(Drag and Drop)效果
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值