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, {});

posted @ 2009-07-06 22:16  meetrice  阅读(326)  评论(0编辑  收藏  举报