Dojo 控件性能优化最佳实践
2010-03-09 00:00:00 来源:WEB开发网两种方式结合初始化 Dojo 控件
当然有些情况下会有这种需求 , 既想拥有编程方式的灵活性,又想拥有声明方式的简单性,比如我想自己来控制什么时候生成 dojo 控件,又不想自己写方法来进行参数值转换,可通过如下方式来实现,
在 html 代码中不添加 dojoType 属性,在我们需要的时候,通过编程方式来指定 html 控件的 dojoType 属性值,然后通过调用 dojo.parser.instantiate() 方法,来解析 html 代码生成 dojo 控件,这样我们既能动态的控制 Dojo 控件的生成,又能利用 dojo.parser 的强大功能,对于上面提到的例子我们可采用如下代码实现 :
清单 4. 两种方式结合页面代码
<script djConfig="parseOnLoad: true, isDebug: true, locale:'zh-cn'"
src="<%=Context%>/javascript/dojo/dojo.js" ></script>
<script type="text/javascript">
dojo.require("dojo.parser");
dojo.require("dijit.form.DateTextBox");
function createDojo(inputId){
var inputObj = dojo.byId(inputId);
inputObj.setAttribute("dojoType", "dijit.form.DateTextBox");
dojo.parser.instantiate([inputObj]);
}
</script>
<body class="tundra">
<input type="text" id="dojotext02" >
</body>
其页面效果同前两种方式完全一样。通过这种方式,装载页面的时候,页面中的节点全部是基本的 HTML 元素,当其中的节点响应了预先定义的 onfocus() 事件之后,动态的去调用创建 Dojo 控件的方法,在这个过程中通过调用 dojo.parser() 方法来解析相应的 Dojo 控件。由此可见,使用这种方式在页面初始化的时候 HTML 代码与 Dojo 没有发生任何关系,在装载过程中在生成 Dojo 控件方面的性能消耗将微乎其微,只是加载到页面相应的 JavaScript 代码,这样可以大大提高页面装载的速度。
- ››控件一:Gallery 之无限循环的问题
- ››控件一:Gallery 之基础用法
- ››性能自检Win7快速提高系统性能3技巧
- ››Dojo QuickStart 快速入门教程 (4) 简单的测试框架...
- ››Dojo QuickStart 快速入门教程 (5) 使用数组
- ››Dojo QuickStart Guide 快速入门 Why Dojo
- ››Dojo Quick Start Guide 快速入门 (2) 基本框架
- ››Dojo QuickStart 快速入门教程 (3) 选择器
- ››Dojo Javascript 编程规范 [1]
- ››Dojo Javascript 编程规范 [2]
- ››Dojo Javascript 编程规范 [3]
- ››Dojo Javascript 编程规范 [4]
更多精彩
赞助商链接