ext笔记
如何創建對象實例:
var app = function() { var privVar=11; return {p1:11, p2:22,init:function(){}};}();
js創建對象的原理:
實際上創建了一個匿名函數(沒有名字的函數),經過解釋之后讓它立刻運行(注意函數后面的())。最后將函數返回的對象(注意此時是一個object變量)分配到變量o。
對象的訪問控制
私有變量和私有函數直接定義在function和return這兩個聲明之間,由于這段代碼的會在head中加載,因此不能訪問頁面中的html
return中的函數如init,是由匿名函數返回的對象的一個方法而已。它會在文檔全部加載后才運行。換言之整個DOM樹已經是可用的了
實例環境
在new的cmp里指定scope:this; 把環境指向
Ext中的get、getDom、getCmp、getBody、getDoc的區別
get方法用來得到一個Ext元素,
getCmp方法-獲得Ext組件,Ext.getCmp("h2").來得到id為h2的組件
getDom方法-獲得DOM節點 Ext.getDom("div2"),得到id為div2的html DOM
getBody方法-得到文檔的body節點元素(Element)。
getDoc方法-獲得與document對應的Ext元素(Element),實質上就是把當前html文檔對象,也就是把document對象封裝成ExtJS的Element對象返回,該方法不帶任何參數。
如何重寫公共變量
Ext.apply(app, { p1:33});
重寫(Overriding)公共函數
Ext.apply(ns.app,
?{
??testfn: function()
???{
????alert('test');
???}
?}
);
指定onReady的scope有什么用
Ext.onReady(app.init, app);
用于公共函數中this調用其他公共函數
init : function(){
??? this.checkCount();
}
如何向頁面dom id渲染
var p = new MyPanel({
?renderTo:'hello',
?title : 'My Second Panel'
});
或
var p = new MyPanel({
?title : 'My Second Panel'
});
p.render("hello");
如保滿屏全屏顯示Ext組件 :
將組件放入ViewPort,前提是根布局一定要有一個region:'center'
?var vp = new Ext.Viewport({
????layout : "fit",
????items : [{
?????region:'center'
?????,border:true
?????,items: p
?????,layout:'fit'
?????,margins: '5 5 5 0'
?????,cmargins: '5 5 5 5'
????}]
?});
如何繼承
// 構造器函數
var MyPanel = function(config) {
?Ext.apply(this, {
????width : 300,
????height : 300
???});
?MyPanel.superclass.constructor.apply(this, arguments);
};
// My Panel繼承了Ext.Panel
Ext.extend(MyPanel, Ext.Panel, {});
總結
- 上一篇: 如何备份 Outlook Express
- 下一篇: File System Auditor