base是乙個基礎類,通過繼承base可以以一種統一的方式建立自己的具有新的屬性、並可作為事件目的(event target)的類。
[b]1. 要使用base,首先要引入yui3的種子檔案:[/b]
然後載入相應模組:
yui().use('base', function(y) );
[b]2. 繼承base[/b]
以下是繼承base的示例**:
[b]3. name屬性[/b]
name屬性是用來標識類的字串,base會自動將name作為該類激發事件名稱的字首,和定義事件***時事件名稱的字首。
在指定name
myclass.name = "myclass";
的情況下:
myclass.prototype.dosomething = function()
...var o = new myclass(cfg);
o.on("enabled", function() );
o.on("myclass:enabled", function() );
[b]4. attrs屬性[/b]
drag.attrs =
return n;}},
...};
[b]5.初始化函式和析構函式[/b]
base在初始化時會自動呼叫各級類的initializer函式,在析構時會自動呼叫destructor函式,所以有初始或者析構處理只需定義相應的方法就可以了,不用顯式呼叫父類的方法,以下是乙個例子:
[b]6. plugins[/b]
plugins機制可以用來在類的例項(而不是類本身)上動態新增特性。
base的plug(pluginclass, pluginconfig)方法用於新增,其命名空間是pluginclass的ns屬性。
base的unplug(pluginclass) 和 unplug(namespace)方法用於移除
關於plugin類的開發請參見相關文件。
[b]7. 擴充套件[/b]
base的build方法可以用來把乙個主類與多個擴充類合併為乙個新類,以下是示例**,其中
panel、resizable、modal是之前定義好的類。
var windowpanel = y.base.build("windowpanel", panel, [resizable, modal]);
YUI 3 學習筆記 queue base
今天 yui 3 發布了 beta 1,實在是高興。繼續學習原始碼 queue base.一點心得 yui3 beta1 的 yui seed,與pr1 的架構圖 已經有了稍許不同 增加了 queue base 模組。queue base 的原始碼非常簡單,就是乙個包裝後的陣列。封裝後的介面非常有 ...
YUI3學習(一) 入門
學習yui3有一段時間,並且應用在了一些小專案的前端開發中,感覺還是蠻不錯的,所以決定開始記錄下yui3的學習歷程和個人經驗。yui3在前身yui2基礎上進行了大量的重新設計,並不只是簡單的版本公升級。yui3強調 重用,將功能做了級別劃分和顆粒化的設計。在概念上抽象出 核心 工具 和元件類,分別放...
YUI3學習感想 之API頁面分析說明
modules 所有的模型 classes 選中模型所包含的所有類資訊 files 該模型的js檔案 properties 選中class的屬性資訊 methods 選中class的方法 events 選中class的事件資訊 configuration attributes 選中class的配置引...