掌握 Dojo 工具包,第 7 部分: Dojo 的扩展
2009-11-06 00:00:00 来源:WEB开发网通过这个小修改,我们可以发现很多有趣的现象。第一,在一个模块中,不但可以定义 Dojo 类,还可以定义一个普通的函数,如本例中的 util.math.Calculator.subtract,这与 java 中的包是不一样的,java 的包中只能定义类;第二,在一个模块中,可以定义多个 Dojo 类,如本例中的 util.math.Calculator2 与 a.b,这与 java 的包类似;第三,模块的名字与 Dojo 中类的命名实际上没有必然的联系,两者在语法上并没有一致性的要求,但从代码的可维护性来考虑,建议保持模块名字与实际的类名一致。
开发自己的 Dijit
现在你应该已经掌握了 Dojo 的模块的概念以及如何创建自己的模块,让我们来进一步看看 Dijit 的扩展。虽然 Dojo 提供的丰富的 Dijit 库,但有时候还是很难完全满足项目中的一些特殊需求。这种时候,你可能会很快找到 Dijit 的源文件,然后在上面做些修改,以满足项目需求,但这并不是个好方法,因为这会使源代码很难维护。好在 Dojo 也提供了很好的 Dijit 扩展机制,使得开发人员可以创建自己的 Dijit.
也许你已经想到了 Dijit 的扩展也模块的扩展应该非常类似,不错,因为实际上 Dijit 也是模块,只不过 Dijit 带有 UI,可以在界面上展示。所以 Dijit 的扩展也就是在模块扩展的基础上,加了一些规则。Dijit 扩展中一个最重要的概念就是 Template,Template 是一段带有可替换标签的 html 代码,当 Dijit 实例化时,Dojo 便把可替换标签替换为相应的属性值,然后把这段 html 代码插入到 DOM 树中。
为了更好地讲解,我们先来看一个例子。
实例:创建一个 Reminder Dijit
我们想创建这么一个 Dijit,它可以展示一句话,并悬停在屏幕的右上角,用户也可以把这个 Reminder 关闭。现在 Dojo 的安装目录下创建这个目录:<Dojo home>/ibm/dijit/templates。把清单 8 中的 hmtl 片断存为 Reminder.html,放到刚创建的目录中。
- ››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]
- ››Dojo Javascript 编程规范 [5]
- ››Dojo学习笔记(7. dojo.dom)
- ››Dojo学习笔记(8. dojo.event & dojo.event.to...
更多精彩
赞助商链接