YUI 3 學習筆記(4) Base基類

2021-08-30 12:21:13 字數 1372 閱讀 1095

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的配置引...