天天看点

YUI3 使用总结

1. YUI3总体认识

1.1 面向对象的JS编程,RIA工具:

面向对象的JS编程,主要体现的以下几个方面:

1. 继承

JS有三种继承方式:javascript中继承一般分为三种方式:

”类式继承”,”原型继承”,”掺元类”

2. 封装:

JS的Function自身就实现了对变量的封装,局部变量等。Object对性的属性也可以实现一定的封装效果

3. 接口和抽象类

YUI3 oop的argument()可以实现类似的功能

4. 模块之间的引用,即代码复用

YUI3的沙箱模型,可以使JS模块化,在Y.use中引入,可以实现代买复用

1.2 重量级框架,oop思想

YUI3中的oop模块就是面型对象编程的重要体现

1.3 YUI3 API使用

点击YUI3 的web site后能看到他的详细结构:

学习他的API就应该从这个开始:

第一列就是一些帮助文件信息,还有一些辅助开发工具,我用过的也就是Console了,但是它是不能单独使用的,必须引入YUI3的默认CSS文件才可以使用。剩下的两个就没有使用过。

第二列就是YUI3开发的核心工具包了:

Core下面是核心工具包:

GLOBAL Object:应该就是全局都可以调用的方法,有很多的YUI的基础工具方法。

这个就是他的这个全局的YUI Global Object 所用到的模块。

Loader是用来动态加载模块的:基本就是在modules中定义完后,要使用这个模板时,就使用Y.use(‘mymodule’,functinto(e){})来加载这个模块。别的其他的Function也没有使用过。

下面部分就是YUI3的Component,应该就是组件的意思:

使用这些基础的组件,要按需加载,需要那个模块就加载哪个模块。

使用过的基础组件有:

Anim :动画效果使用它。

Attribute :写自定义的工具类才有可能用这个,Widget写这个得使用才用。不是很了解。

Base,collection:没用过。

DD:添加拖拽事件时才用这个模块。

Dom:没有直接使用过。

Event:键盘事件,鼠标事件

Event-custom:不了解

Io:用于Ajax访问,文件上床等,主要是xml http request XML Data Reduced(很是不了解这个东西) 等。

Json:就是解析Json字符串。(到现在还没有用过,不过觉得应该不复杂)。

Node:节点基础组件,天天用。

Async-queue:没有使用过。

第三列就是Component Infrastructure(公共的基础设施组件)

我的理解就是最基础的一些工具包吧,也就是所有的组件都要用到的东西。

Attribute:每个组件里面都有以下几个部分:

Constructor:就是构造函数。在New这个对象时,就是调用这个方法。

Properties:就是它的一些属性,可以用 “.”访问,但是没有get set 方法,

Methods:就是这个组件提供的一些方法。

Events:应该就是他的一些自定义事件吧,可以用Y.on来监听他,也可以使用它的on 方法监听。

Configuration Attributes:就是他的一些参数,可以使用get 方法取得,可以使用set 方法设置它的值

Base :应该就是基础的工具,有很多属性就是直接从他继承而来,类似Java的Object类

Plugin:插件类,有的工具就支持插件式开发,比如,node 组件就支持Plugin

Widget :应该就是工具,具体没有使用过。就是在使用Overlay的时候,见过这个东西。不清楚,貌似很复杂。

Widgets:应该就是他写好的一些工具类,目前也就是三个,overlay,sider,TableView

Overlay:浮动层

Sider:滑块

TableView:表格布局(本人至今还未使用过)

Plugins:

两个Node节点的Plugin,和一个Console的Plugin,就是可以给Node节点增加插件,可以给Console增加插件。见识过,没有使用过

CSS RESOURCES:

没使用过这个模块。