您的位置:首页 > 其它

今天你DOJO了么?第一篇:旅程的开始

2012-04-25 15:50 344 查看
大道理、大理论我就不再废话了,直接进入主题:一个DOJO初学者,该怎么下手?下面我所说的不一定全对,只是使用DOJO一段时间后对它的一点个人见解,希望对大家有帮助!
准备:
第一步:开源技术必要的一步-到官网下载开发工具包(我现在用的是1.7.x)。
第二步:解压工具包,COPY到工程的WebRoot目录下,我这里给下载的开发包重名为dojoroot。
开发:
可能大家之前接触过JQuery或者ExtJS等开源JS框架,在拿到这些开发包后,开发前的必要一步就是:引入他们的JS核心包。
当然,DOJO也不例外,具体实现如下:
<script type="text/javascript"language="javascript" src="dojoroot/dojo/dojo.js"data-dojo-config ="isDebug:true, parseOnLoad:true, bindEncoding:'UTF-8'"></script>
这段简单的代码是这篇文章主要说的也是我最想说的地方,可能之前大家都是直接复制这段代码,并不在意他的属性及属性的作用;
其实这段代码可以引申出好多,下面就说下我所看到的那些“内幕”:
内幕1:data-dojo-config=””而不是diConfig=””,因为当你使用djConfig属性时,该属性下会有一条黄色的波浪线-这是个警告(在JavaEE版本的Eclipse下会有,其他工具不详);个人对代码警告非常纠结,当然也可以完全无视,丝毫不影响效果。
解密1:警告的原因可能是因为djConfig是DOJO早期版本的属性,而新版本有了新的属性名data-dojo-config,这样不但显得更有个性,而且还能和HTML的标签属性清晰的分辨开来;正所谓高版本兼容低版本,使用旧属性也完全没有任何影响;当然还有其他的属性,暂时就不一 一例举了。
内幕2:isDebug: true这是针对开发人员的调试模式,
解密2:当为true时可以使用console.log()等方式在浏览器控制台打印信息;
内幕3:parseOnLoad:true 暂时我也不能给这个属性做一个全面的合理的解释
解密3:当设置为false或者直接不写这个属性时(缺省false),您的DOJO页面会乱的一塌糊涂,暂时我们可以认为这是个当页面加载时初始化DOJO的属性;DEPRECATED: Add explicit require(['dojo/parser']); -- will be removed
in version: 2.0 这是Debug针对这个属性的警告,意味着在dojo2.0版本后该属性会被移除,所以不推荐使用,那我们用什么方法来替代它呢?请听下次分解...
内幕4:bindEncoding:‘UTF-8’ 这个属性我相信大家一眼就能看明白
解密4:xmlhttp采用的编码格式

下面就用一个简单Button组件来演示下怎么进行DOJO开发:
<html>
<head>
<title>DOJODemo</title>
<styletype="text/css">

@import"dojoroot/dijit/themes/tundra/tundra.css";<!--风格皮肤样式-->

@import"dojoroot/dojo/resources/dojo.css"; <!--核心样式包-->
</style>
<scripttype="text/javascript"language="javascript"src="dojoroot/dojo/dojo.js"data-dojo-config="isDebug:true,parseOnLoad:true,
bindEncoding:'UTF-8'"></script>
<scripttype="text/javascript"language="javascript">
dojo.requrie("dijit.form.Button"); <!--引入Button组件,可以理解为Java的import
-->
</script>
</head>
<body>

<button id="bt1" data-dojo-type="dijit.form.Button" onclick="javascript:alert('Hello World!')">TEST</button>
<!-- 这里我们使用了data-dojo-type 而不是dojoType -->
<!-- data-dojo-props=”猜猜这个属性是做什么的?” -->
</body>

</html>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: