看ExtJs API文档的阅读方法
?對EXT,下載一個ext2.0的API文件,叫你如何看懂API,看完保證就會用API,但是你必須看完。
Config Options
Public Properties
Public Methods
Public Events?
基本上都由以上4部分組成
?
Config Options下的內容為你在實例化一個對象時進行配置,也就是比如new Panel({a:"xxx",b:"yyy"}),這里的a和b就是來自于Config Options?
?
就拿tree下的TreeNode來說:
?
Config Options下的checked
?
checked : Boolean
True to render a checked checkbox for this node, false to render an unchecked checkbox (defaults to undefined with no...
True to render a checked checkbox for this node, false to render an unchecked checkbox (defaults to undefined with no checkbox rendered)
TreeNode是樹節點的意思,那么肯定也就是一個節點
?
而checked很明顯我們就能猜出來是 是否選中 的意思
這個checked是在Confgi Options下的,是實例化的時候用的,注意這點,其他時候能否用你是不知道的
而且這個配置選項的值必須只接受boolean類型的,也就是true或false
比如 var root = new Ext.tree.TreeNode({checked:true});
?
比如href : String 表示的配置選項href接受的類型是string的
這個所謂的配置選項,也就是Config Options下的內容,只有你在實例化的時候用的,也就是你在new 類名({...})時用的
?
然后你再看 Public Properties 部分
?
看這個childNodes ,public properties下的
childNodes : Array 這樣寫
表示的是你從一個實例化對象里取得的屬性,比如你剛才 var tn = new Ext.tree.treeNode({....});這樣已經實例化了一個對象了,那么現在你可以取實例化對象的數據了,怎么取呢,可以取里面的什么東西呢,那么這里public properties里的列出的就是你能取的,那么你要tn.childNodes就能獲得一個Array類型的數據,所以public properties下列出的就是一個實例化對象能取的信息,冒號后面的是你索取得的信息的返回類型.
?
Public Methods 再來看這個部分
一般第一個都會是你實例化一個對象的構造方法
TreeNode( Object/String attributes )
表示的是這個構造方法可以接受兩種類型的參數,一個是object類型的,一個是string類型的
所謂的object類型的一般是這種模式{...},而所謂的string類型就是"..."
?
再看appendChild( Node/Array node ) : Node 這個
表示的是能接受的參數是Node類型或者Array類型的數據,注意看括號里面的括號里面的才是調用這個方法時需要傳遞進去的參數類型.??而冒號后面的那個Node的意思是你調用這個方法后返回的一個數據類型.
?
比如var n = tn.appendChild(new Ext.tree.TreeNode({....}));那么是能夠得到這個n的值的,并且這個n的值肯定就是Node類型的.
?
?接下來看Public Events部分:
這部分的內容表示的是你在使用TreeNode類的時候可能出現的事件
比如你對一個樹節點進行添加子節點的操作,那么append事件就會發生,也就是在你var n = tn.appendChild(new Ext.tree.TreeNode({....}));運行這個代碼的時候會發生append事件
append : ( Tree tree, Node this, Node node, Number index )
冒號后面的表示的是發生這個事件時會傳遞過來的數據.要記住和理解這點,那么事件是這樣發生的,但是你如何捕獲事件呢?就是通過兩種方式:一種是on,一種是listeners,你可以在實例化一個類的時候為listeners配置選項賦值,
比如var tn = new Ext.tree.TreeNode({listeners:{"append":function(a,b,c,d){....}}})
還有一種是你對這個實例進行on或addListener方法的調用,Public Methods下面的on或addListener這個不是無緣無故出來的
on( String eventName, Function handler, [Object scope], [Object options] ) : void 要知道這個事件捕獲接受哪些參數,另外:js跟java是不一樣的java的方法你傳遞的參數個數必須根定義的一樣,但是js的并不需要 ,所以你在進行on方法的調用是可以傳遞不等同個數的參數,那么這里
on( String eventName, Function handler, [Object scope], [Object options] ) : void可以只傳遞2個參數,
一般情況下,這個api告訴你的是,[]這樣括起來的表示你可以不傳遞的參數,
其他的最好傳遞進來
所以你可以這樣調用了. tn.on("append",function(){...})
或者
tn.on("append",hello);
function hello(a,b,c,d){...}
?
[Object scope], [Object options]這個是作用域一般就是傳遞this什么的,有時候會用到,特別是當你遇到一些問題時
?
?
這個on或addListener方法的調用跟public events下的事件是掛鉤的
事件append : ( Tree tree, Node this, Node node, Number index ) 冒號后面表示的是事件發生時自動得到的信息
所以,當在調用on方法時,on方法里handler參數就很關鍵了.
Function handler 這里定義的方法將被調用,別且會將
事件append : ( Tree tree, Node this, Node node, Number index ) 冒號后面表示的是事件發生時自動得到的信息
的參數傳遞給它
?
所以你在定義這個handler的時候就可以定義成接受( Tree tree, Node this, Node node, Number index ) 這4個類型的參數
?
tree.on("click",function(node,event) 這里的function(node,event)可以單獨拿出來
?
event 就是事件,事件并不是作用在方法上,而是作用在對象上,只是,比如你想右鍵一個樹節點后去調用某個方法在調用某些方法的時候觸發了事件的發生:那么,你就可以tn.on("contextmenu",function(node,e){...})
?
Public Events下面的東西只是定義了一些事件,而真正使用事件是你進行捕獲,就是用on:另外on是addListener的簡寫,兩個方法是一樣的.
?
?
看API各個配置選項或屬性或方法或事件的右邊,有個叫Defined By,列頭 - Defined By,
他表示的是這些信息是由哪個類定義的,因為你要知道ext中一個很重要的信息就是繼承,
所以有些方法或配置選項或屬性都是來自于他的父類或超類,
那么這個Defined By 就告訴了你是來自具體的哪個父類或超類
這樣在你看源碼的時候就非常清晰
然后Defined By 如果字體是黑色的表示這個配置選項或屬性或方法或事件是他本身這個類定義的
所以你一般去看一個類的特性的時候,你只需要去關注這個黑色文本的那些配置選項或屬性或方法或事件
?
?
然后我們再看看最上面的部分
?
?
Class Ext.tree.TreeNodePackage: Ext.tree
Defined In: TreeNode.js
Class: TreeNode
Subclasses: AsyncTreeNode
Extends: Node
?
這里有Subclasses和Extends
?
?
Subclasses表示這個類有哪些子類,Extends表示這個類繼承自哪個類
?
所以要說這點,是因為要說事件應用的限制
只有那些繼承了Observable類的類,也就是這個類是Observable的子類或子孫類,那么這個類才擁有事件處理機制,也就是才會有Public Events部分
所以,如果自己擴展一個類,想擁有事件處理和響應機制,那么這個類就必須是這個Observable類的子類或子孫類
可以一直點Extends后面的進去,最后肯定會出來我說的這個Observable類
轉載于:https://www.cnblogs.com/haoliansheng/archive/2009/05/15/1457277.html
總結
以上是生活随笔為你收集整理的看ExtJs API文档的阅读方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Statement和PreparedSt
- 下一篇: gridview行号