国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

EXT中xtype的含義分析

2024-05-06 14:11:59
字體:
供稿:網(wǎng)友
序言

根據(jù)我在論壇上的觀察,xtype用起來的時(shí)候疑惑會比較多。甚至有些人根本忽略xtype,或者不清楚它是什么。所以我決定闡述一下這個(gè)xtype的概念。

定義

xtype就是一個(gè)代表類(Class)的標(biāo)識名字。

譬如,你有這個(gè)類,名字是Ext.ux.MyGrid。正常情況下你需要用這個(gè)名字來實(shí)例化這個(gè)類(創(chuàng)建類的對象)。

除了類名外,你還可以這樣登記類的xtype:
Ext.reg('mygrid', Ext.ux.MyGrid);

其中xtype 是 mygrid 而類名的一般形式是Ext.ux.MyGrid。上面的語句登記了新的xtype,換種說法說,xtype mygrid 與類 Ext.ux.MyGrid是連在一起的。

到底有什么好處?

試想一下,你手頭上的是一個(gè)大型的項(xiàng)目,為了響應(yīng)用戶的操作,程序里面包含者大量的對象(windows、forms、grids)。用戶點(diǎn)擊圖標(biāo)或按鈕,就會新建一個(gè)窗體,窗體里面又有g(shù)rid,最終在屏幕上渲染出來。

嗯,我們回到Ext2.x之前的編碼,那時(shí)候我們實(shí)例化所有對象是頁面第一次加載后就進(jìn)行的(程序代碼第一次的運(yùn)行)。在客戶端內(nèi)存中,Ext.ux.MyGrid類的對象已經(jīng)存在,等待用戶的點(diǎn)擊。 同樣是這個(gè)grid,假設(shè)你上百個(gè)的實(shí)例,...是多么浪費(fèi)寶貴的資源啊!很多grid其實(shí)用戶未必會點(diǎn)擊讓它出現(xiàn)。

延時(shí)實(shí)例化

如果你使用xtype,那么在內(nèi)存中的僅僅是一個(gè)配置項(xiàng)對象,像:
代碼如下:
{xtype:'mygrid", border:false, width:600, height:400, ...}


消耗沒有復(fù)雜的實(shí)例對象來得大。

嗯,用戶點(diǎn)擊按鈕或圖標(biāo)會怎么樣呢?Ext會辨認(rèn)出它是一個(gè)準(zhǔn)備要渲染的grid但不立刻實(shí)例化,Ext在ComponentMgr的幫忙下明白這么一回事:“如果我要實(shí)例化xtype mygrid的對象,我就知道要?jiǎng)?chuàng)建的實(shí)際是類Ext.ux.MyGrid的對象”。即如下列代碼:
代碼如下:
create : function(config, defaultType){
return new types[config.xtype || defaultType](config);
}

等價(jià)于:
Java代碼
代碼如下:
return new Ext.ux.MyGrid(config);

然后實(shí)例化grid,進(jìn)行渲染和顯示。謹(jǐn)記:需要的時(shí)候才實(shí)例化。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 金乡县| 临漳县| 禹州市| 安达市| 冀州市| 紫云| 衡山县| 江阴市| 泌阳县| 林州市| 荥经县| 定边县| 平山县| 隆化县| 盐源县| 九江县| 紫云| 将乐县| 新昌县| 红桥区| 玉树县| 福清市| 蒲城县| 五大连池市| 广东省| 布尔津县| 铜川市| 子长县| 北碚区| 静海县| 榕江县| 临澧县| 西充县| 定边县| 徐州市| 象州县| 兴宁市| 台南市| 库尔勒市| 威海市| 武汉市|