Dojo中define和declare

Define
先看define。作用是定義一個模塊(module)。這個模塊可以被require引用,引用了之後就可以使用define裏面的東西。一個模塊想當然,裏面幹什麼事情,不一定全部自己實現。就像人要coding,除了腦子,也不能沒有電腦、鍵盤。因此,define的第一個參數就是將要用到的其他模塊引進來。第二個參數描述這個模塊具體幹什麼,並且給第一個參數中的模塊分別起一個朗朗上口的名字。就像下面這段代碼描述的樣子。

 

util.js

這是一個工具模塊,其中一個功能就是把網頁上id對應的DOM節點變成紅色。當我們要使用它的時候,就可以用require了。

 

 

Declare
可以看到,上面的模塊util作爲工具模塊,可以在被引用後任意調用其功能。這是無狀態的,就好象是一個singleton的對象。但如果我們想定義“類”一樣的東西,有狀態,可以創建多個對象,就需要在define裏用declare。最典型的例子就是dijit下面的諸多UI小控件。

舉個很簡單的例子,我希望基於dijit.Dialog,創建一個有特殊功能的dialog,每次打開後能把上面的一段text標記爲紅色。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章