Ext中 get、getDom、getCmp的區別

weixin_34126215發表於2013-08-26
getDom方法能夠得到文件中的DOM節點,該方法中包含一個引數,該引數可以是DOM節點的id、DOM節點物件或DOM節點對應的Ext元素(Element)等。 (與getElementById是一個效果)
Ext.onReady(function(){  
  
var e=new Ext.Element("hello");  
  
Ext.getDom("hello");  
  
Ext.getDom(e);  
  
Ext.getDom(e.dom);  
  
});  
//Html頁面中包含一個id為hello的div,程式碼如下:  
  
<div id="hello">aaa</div> 
 
在上面的程式碼中,Ext.getDom("hello")、Ext.getDom(e)、Ext.getDom(e.dom)等三個語句返回都是同一個DOM節點物件。
 
get方法中只有一個引數,這個引數是混合引數,可以是DOM節點的id、也可以是一個Element、或者是一個DOM節點物件等。
get方法其實是Ext.Element.get的簡寫形式。 
Ext.onReady(function(){  
  
  var e=new Ext.Element("hello");  
  
  Ext.get("hello"));  
  
  Ext.get(document.getElementById("hello"));  
  
  Ext.get(e);  
  
}); 
 
//Html頁面中包含一個id為hello的div,程式碼如下:  
  
<div id="hello">aaa</div> 
 
Ext.get("hello")、Ext.get(document.getElementById("hello"))、Ext.get(e)等三個方法都可以得到一個與DOM節點hello對應的Ext元素。
 
getCmp方法用來獲得一個Ext元件,也就是一個已經在頁面中初始化了的Component或其子類的物件,getCmp方法中只有一個引數,也就是元件的id。
getCmp方法其實是Ext.ComponentMgr.get方法的簡寫形式。
Ext.onReady(function(){    
   var myPanel=new Ext.Panel({  
   id:“myFirstPanel”,  
   title:“舊的標題",    
   renderTo:"hello", 
   width:300,   
   height:200 
});  
  
Ext.getCmp(" myFirstPanel ").setTitle("新的標題");  
  
});    
//Html頁面中包含一個id為hello的div,程式碼如下:  
  
<div id="hello">aaa</div> 
 
我們使用Ext.getCmp(“myFirstPanel").來得到id為myFirstPanel的元件,並呼叫其setTitle方法來設定該皮膚的標題 

相關文章