`

dojo1.7的加载方法

    博客分类:
  • Dojo
 
阅读更多

对于dojo1.7来说,最大的变化就是引入了AMD异步加载器。

在1.7以前的版本,dojo的加载是同步加载的。由于dojo包含的内容很多,也就导致了dojo在页面加载时会显的有点慢。

现在在新版本中,dojo将要改变这一状况。页面加载时使用异步加载。只有在需要时才加载,而且只加载最小最核心的功能模块,这样,就会在最大程序中减少文件的下载量。

使用1.7的新特性将会有两个明显的不同点。

 

1.引入核心js时使用加载后解析属性。如

 

 <script type="text/javascript" src="dojoroot/dojo/dojo.js"  data-dojo-config="parseOnLoad: true"></script>

 

注意: 加了属性后,对于加载器来说只加载核心dojo.js并不加载别的模块内容,他会在页面加载完成后再去解析页面中的dojo部件。对于页面中dojo部件所需要的js必须使用require(["xxx"])来加载,不然会出现js错误。

 

2.在使用dojo的方法上有区别,以前是dojo.xxx而现在则使用require(["xxx"],function(){xxx})

注意,以前的dojo.xxx的写法是建立在已经加载了模块js的基础上。也就是dojo.require("xxx");dojo.xxx

使用dojo.require会加载整个模块包的js,也是以前版本的写法。

 

3.require内容不同,以前版本dojo.require("dojo.form.Button")而1.7版本require(["dojo/form/Button"])

 

在使用1.7版本时,可能代码上会觉的有点繁琐,但这也保证了页面的加载效率。

由于是异步加载,所以你并不知道你所使用的dojo模块或方法是否已经加载。这也就导致了基本上在每个页面中,如果你要使用某个模块,就必须在页面中使用require([])来加载你的模块,当然,也可以放到每个function中,以便实现更多的延迟加载。

不用当心重复的require,dojo会自动检查是否已经加载过相应的js,如果已经加载过了,它不会再次加载

 

 

示例:

以前版本的ajax写法

dojo.xhrPost({
    form: "someFormId", 
    content: { part:"one", another:"part" } 
});
 

 

1.7版本的ajax写法

 

require(["dojo/_base/xhr"], function(xhr){
   
    xhr.post({
        form: "someFormId"
        content: { part:"one", another:"part" } 
 });
    
});
 

 

0
0
分享到:
评论

相关推荐

    Dojo 1.7 版本注释.docx

    Dojo 1.7 是 Dojo Toolkit 重要的版本更新,其中引入了显著的改进和新特性,尤其是对模块加载机制的革新。这一版本的主要焦点在于Asynchronous Module Definition (AMD),这是一种优化JavaScript代码组织和加载的...

    Dojo1.7 Api chm

    Dojo 1.7 引入了AMD规范,这是JavaScript中的一种模块化加载机制,使得代码可以异步加载,从而提高页面的加载速度。通过`require`和`define`函数,开发者可以更好地组织和管理代码,实现模块间的依赖注入。 二、...

    Dojo 1.7 中文版本注释功能说明

    Dojo 1.7 是一个重大的版本更新,其中引入了显著的改进和新特性,尤其是对模块加载机制的革新。这一版本的核心亮点是实现了Asynchronous Module Definition (AMD)机制,这是一项用于优化JavaScript模块加载的技术,...

    dojo 1.7 最新dojo包,内含最新的实例若干个。

    1. **模块化系统**:Dojo 1.7 引入了AMD(Asynchronous Module Definition)模块加载机制,这允许异步加载JavaScript模块,优化了页面性能,避免了整体加载导致的阻塞。通过`require`和`define`函数,开发者可以轻松...

    dojo 源码1.7汇总

    在Dojo 1.7 中,这些功能被重新组织并模块化,使得开发者可以根据需要按需加载,显著提高了页面加载速度。AMD模块化系统的引入是这一版本的一大亮点,它允许异步加载和依赖管理,使得代码结构更加清晰,也更利于维护...

    dojo-release-1.7.1-src

    《Dojo 1.7 深入解析与应用实践》 Dojo 是一个全面的JavaScript工具库,专为构建富互联网应用程序(RIA)而设计。这个“dojo-release-1.7.1-src”压缩包包含了Dojo 1.7.1的源代码,为开发者提供了深入了解和自定义...

    dojo-release-1.7.3

    Dojo 1.7 引入了Asynchronous Module Definition(AMD),这是一种异步模块加载机制,允许开发者按需加载JavaScript模块,提高页面加载速度。通过`require`和`define`函数,开发者可以组织代码,使其更加模块化和可...

    DOJO API 中文参考手册,附加注解实例(精心重新排版DOC文档)

    手册中列举了一些常用的Dojo包,如dojo.io用于不同类型的IO传输,dojo.dnd提供拖放功能的API,dojo.string提供了字符串处理方法,dojo.date帮助解析和操作日期,dojo.event处理事件驱动和AOP开发,dojo.back管理撤销...

    dojo最新版本

    Dojo 1.7 引入了AMD,这是一种异步模块定义的加载机制,允许开发者按需加载模块,提高了页面性能。通过`require()`函数,我们可以方便地引入和依赖其他模块。 2. **Dijit UI 库:** Dijit是Dojo的UI组件库,包含...

    dojo.zip

    在Dojo 1.7之后,推荐使用`require`和`define`,它们提供了更灵活的依赖管理和异步加载。 4. **工具集和组件**:dojo包含了丰富的UI组件,如按钮、表单、日历、树形视图等,这些都可以通过`dijit`模块来访问。此外...

    图书:Dojo入门

    Dojo的模块化设计是其一大特色,通过`dojo.require`或`require`方法可以按需加载所需模块,降低页面加载负担。此外,Dojo Toolkit提供了`dojo.declare`用于类的定义,支持面向对象编程。 Dojo中的Widget系统是另一...

    精通Dojo(中文版)

    dojo/store是Dojo 1.7引入的新API,它简化了数据操作,提供了增删改查的基础操作。 Dojo的异步通信主要通过dojo/xhr和dojo/io模块实现,支持GET、POST等HTTP请求,同时提供了处理JSONP、SOAP等跨域数据交换的解决...

    DOJO工具包简单介绍

    在Dojo 1.7及更高版本中,推荐使用`dojo/xhr`模块代替。 - **淡出和移除**:在请求完成或失败时,可以添加回调函数实现元素的淡出和移除效果。 - **使用XMLHttpRequest来告诉服务器发生了什么**:`dojo.io.bind()...

    dojo-release-1.2.1-demos

    `dojo/store` API 是一个更现代的数据访问接口,适用于Dojo 1.7及以上版本,但1.2.1版本可能仍包含一些相关的实现。 8. **Dojo事件处理** Dojo 提供了一种统一的方式来处理DOM事件,如`dojo/on` 函数。它简化了...

    dojo demo 1.72

    3. **AMD模块化**:Dojo 1.7 引入了基于AMD的模块化系统,通过dojo/require和dojo/define,开发者可以方便地定义和引用模块。这使得大型项目的组织和维护变得更为容易。在示例中,你可以看到如何组织模块,以及如何...

    arcgis javascript api

    - **基础架构变更**:从 2.9 版本开始,ArcGIS JavaScript API 基于 Dojo 1.7,但尚未完全符合 AMD 规范。这意味着开发者不必因 API 使用了 Dojo 1.7 而修改其应用程序代码。 #### 五、JavaScript API 实际应用 - ...

    前端后端的一些资源文档

    1. **Ajax(Asynchronous JavaScript and XML)**:Ajax是一种在无需重新加载整个网页的情况下更新部分网页内容的技术。它通过JavaScript异步地与服务器交换数据并更新页面,提供了更好的用户体验。Ajax的核心组件...

    中文版AJAX框架的各种使用

    它使得网页能够异步与服务器通信并更新部分页面内容,而无需重新加载整个页面。本文将详细介绍几种常用的 AJAX 框架及其使用方法。 #### 1. Purejavascript: Application Frameworks ##### 1.1 Bindows - **简介**...

    Ajax基础教程(扫描版)

    b.1.1 dojo 248 b.1.2 rico 248 b.1.3 qooxdoo 248 b.1.4 tibet 249 b.1.5 flash/javascript集成包 249 b.1.6 google ajaxslt 249 b.1.7 libxmlrequest 249 b.1.8 rslite 250 b.1.9 sack 250 b....

Global site tag (gtag.js) - Google Analytics