Dojo -- Getting Started篇之Modern Dojo(现代化Dojo)

“modern”dojo

本文会介绍一下,dojo1.10带来的新的变化。

准备开始

Dojo1.7是一个重要里程碑,整体的架构更加灵活,也更加“现代化”。Dojo1.10则在1.7的基础上,引入了一些新的特性和概念,例如dojo/on。如果你想让dojo代码跑的更快,更加高效,并且想提高代码的可维护性,那就赶紧升级到dojo1.10吧。另外,dojo是完全向后兼容的。

新hello world

modern dojo其中一个核心概念是:禁止使用全局命名空间。dojo为了向后兼容,原先放置在全局命名空间中的函数和变量,仍然是可用的,但在新版的dojo中,最好别用。因为其他开发人员随时可能自己定义一个名字跟全局命名空间中的函数名一样的函数出来,这样会造成冲突的。像下面的使用方式就不推荐。

dojo.* or dijit.* or dojox.*

其实只需简单的引入dojo.js,然后使用require() 方法加载其他模块即可。

另一个核心概念是:同步操作慢,异步操作快。dojo 1.7(包括1.7),支持Asynchronous Module Definition (AMD)的概念,可以使用require()来异步加载用到的dojo 模块。

旧版用法

dojo.ready(function(){
    dojo.byId("helloworld").innerHTML = "Hello World!";
  });

新版用法

require(["dojo/dom","dojo/domReady!"],function(dom){
    dom.byId("helloworld").innerHTML = "Hello New World!";
  });

相关文章

我有一个网格,可以根据更大的树结构编辑小块数据.为了更容易...
我即将开始开发一款教育性的视频游戏.我已经决定以一种我可以...
我正在使用带有Grails2.3.9的Dojo1.9.DojoNumberTextBox小部...
1.引言鉴于个人需求的转变,本系列将记录自学arcgisapiforja...
我正在阅读使用dojo’sdeclare进行类创建的语法.描述令人困惑...
我的团队由更多的java人员和JavaScript经验丰富组成.我知道这...