对于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" }
});
});
分享到:
相关推荐
Dojo1.7 Api chm 英文版
Dojo 1.7 中文版本注释功能说明,以Dojo使用案例,很经典,做为系统了解Dojo功能及用法很有用!
Dojo 1.7 版本注释 非常全面 收集了很就在这里和大家共享。共同学习。
最新dojo包,内含最新的实例若干个。是入门学习的好帮手!
dojo 源码1.7汇总 包括dijit 和 dojo 打包汇总 非常好的
使用Requirejs异步加载Dojo1.6,运行在Tomcat6下
dojo的包加载机制, 源代码中加了注释和debug,只供大家参考
Dojo 1.1.1 提供了上百个包,这些包分别放入三个一级命名空间:Dojo,Dijit和 DojoX 。其中 Dojo 是核心功能包 , Dijit 中存放的是 Dojo 所有的Widget 组件,而 DojoX 则是一些扩展或试验功能,DojoX 中的试验功能在...
dojoDemo 包括多个dojo方法的用法,HelloWorld等示例,学习Dojo不错的资料(Demo)
dojo常用方法总结,主要是元素的获取,事件的监听,数组的遍历等
dojo dojo实例 dojo例子 dojo资料 dojo项目 dojo实战 dojo模块 dojo编程
Dojo的基础对象和方法) 6 四、 Dojo学习笔记(4. dojo.string & dojo.lang) 9 五、 Dojo学习笔记(5. dojo.lang.array & dojo.lang.func & dojo.string.extras) 13 六、 Dojo学习笔记(6. dojo.io.IO & dojo.io....
dojo提示框,文档中包含三种不同的使用dojo的提示框。
dojo文档 dojo文档 dojo文档 dojo文档 dojo文档 dojo文档 dojo文档 dojo文档 dojo文档 dojo文档 dojo文档 dojo文档
每加载一个dojo 的widget都需要额外的时间,所以当然使用越少dojo控件,速度就越快。 3. 使用新版本的dojo,建议1.0以上。 新版本对性能进行了优化,减少了bug,所以尽量选用新的稳定版本。 4. 减少html tag...
道场装载机进度使用此工具来跟踪 Dojo Toolkit 加载器的进度。用法: 加载 Dojo Toolkit 后立即包含progress.js < script src =" //ajax.googleapis.com/ajax/libs/dojo/1.10.1/dojo/dojo.js " > </ script...
Dojo学习笔记--Dojo的基础对象和方法 Dojo学习笔记--FisheyeList鱼眼效果 Dojo学习笔记--TabContainer Dojo学习笔记--ValidationTextbox Dojo学习笔记--dijit.Dialog Dojo学习笔记--dijit.Menu Dojo学习笔记--...
Dojo学习笔记--Dojo的基础对象和方法 Dojo学习笔记--FisheyeList鱼眼效果 Dojo学习笔记--TabContainer Dojo学习笔记--ValidationTextbox Dojo学习笔记--dijit.Dialog Dojo学习笔记--dijit.Menu Dojo学习笔记--...
Dojo学习笔记--Dojo的基础对象和方法 Dojo学习笔记--FisheyeList鱼眼效果 Dojo学习笔记--TabContainer Dojo学习笔记--ValidationTextbox Dojo学习笔记--dijit.Dialog Dojo学习笔记--dijit.Menu Dojo学习笔记--...
dojo js dojo js dojo js dojo js dojo js dojo js dojo js