YUI之Base基类
Base是一个基础类,通过继承Base可以以一种统一的方式创建自己的具有新的属性、并可作为事件目的(Event target)的类。
1. 要使用Base,首先要引入YUI3的种子文件:
然后加载相应模块:
2. 继承Base
以下是继承Base的示例代码:
3. NAME属性
NAME属性是用来标识类的字符串,Base会自动将NAME作为该类激发事件名称的前缀,和定义事件监听器时事件名称的前缀。
在指定NAME MyClass.NAME = "myClass"; 的情况下:
4. ATTRS属性
可以用关联矩阵(associative array)的方式定义类的属性,以下是定义类Drag的属性的代码片段,关于属性的配置可参见下一篇文章(关于attribute的)
5.初始化函数和析构函数
Base在初始化时会自动调用各级类的initializer函数,在析构时会自动调用destructor函数,所以有初始或者析构处理只需定义相应的方法就可以了,不用显式调用父类的方法,以下是一个例子:
6. Plugins
Plugins机制可以用来在类的实例(而不是类本身)上动态添加特性。Base的plug(pluginClass, pluginConfig)方法用于添加,其命名空间是pluginClass的NS属性。Base的unplug(pluginClass) 和 unplug(namespace)方法用于移除关于Plugin类的开发请参见相关文档。
7. 扩展
Base的build方法可以用来把一个主类与多个扩充类合并为一个新类,以下是示例代码,其中Panel、Resizable、Modal是之前定义好的类。
转自:http://blog.sina.com.cn/s/blog_632d19d50100rzuz.html
分享到:
相关推荐
这导致了一系列JavaScript框架的诞生,其中包括Prototype、YUI、jQuery、MooTools、Bindows以及国内的JSVM框架等。这些框架不仅提升了前端开发的效率,还改善了用户体验。 **jQuery**作为一款杰出的JavaScript库,...
UI Library (YUI)**:提供了YUI Reset CSS和YUI Fonts CSS来帮助开发者解决跨浏览器兼容性问题。 通过以上内容可以看出,“Computer Science E-75”课程覆盖了构建动态网站所需的各种关键技术和实践知识,旨在培养...
#### 四、最佳实践与 Bundle 结构 ##### 4.1 如何使用最佳实践构建 Bundle 结构 遵循一定的最佳实践可以帮助开发者构建更加可维护、易于理解和扩展的 Bundle。例如,可以采用特定的目录结构来组织代码,使用标准的...
随着WEB2.0技术的兴起和AJAX思想的普及,各种优秀的JavaScript框架应运而生,其中包括Prototype、YUI、jQuery、MooTools、Bindows以及国内的JSVM框架等。这些框架的出现极大地提高了前端开发效率,使得开发者能够更...
#### 四、减少请求数的方法 针对上述问题,我们可以采取以下几种策略来减少HTTP请求数: 1. **合并文件**:将多个JavaScript或CSS文件合并成一个单一文件。这种方法能够显著减少请求次数。推荐使用Yahoo提供的`yui...