var t=Ext.extend(Ext.Panel,{
aa:function(){
alert(123);
},
buttons:[{text:'dsad',handler:function(){
//我想调用aa方法
//aa();这是不行 的
//this.aa();也不行
}}]
})
Ext.onReady(function(){
new t({
renderTo:Ext.getBody()
});
})
我是初学者,请解答一下。。
谢谢!
这样调:this.ownerCt.aa();
因为aa函数是button对象的容器对象(panel)的属性。
推荐第二种方式:为button添加scope属性为其那个拥有aa方法的panel
buttons:[{text:'dsad',scope:t,.....
这样就可以通过this.aa进行调用了
//this.aa(); 这个this指的是button!
你可以这样取:this.ownerCt.aa();
怎么要这么写呢?你不是封装组件吧?
建议初学还是 var 一组件去定义。。。。。。
var p = new Ext.Panle({
title : "panel",
width : 300,
height : 300,
buttons : [{text:"click",handler:clickBtn}]
}).render(Ext.getBody());
function clickBtn(){
//code.......
}