使用ext的继承,可是子类中为何无法访问父类方法??
|
flysky1998
2008-03-18
代码如下:在执行到this.add(sp);时出现错误提示对象不支持此属性或方法
MenuPanel = function(){
MenuPanel.superclass.constructor.call(this, {
id:"menuPanel",
region:'west',
title:'系统菜单',
split:true,
width: 200,
minSize: 175,
maxSize: 400,
collapsible: true,
margins:'0 0 0 5',
layout:'accordion',
layoutConfig:{
animate:true
}
});
Ext.Ajax.request({
url:'sysMenu.do?method=getSingleLvMenuJSON',
method:'GET',
success:this.addSubPanels,
failure:function(){alert('');}
});
};
Ext.extend(MenuPanel,Ext.Panel,{
addSubPanels:function(response,request){
var arr = Ext.util.JSON.decode(response.responseText);
for(i=0; i < arr.length; i ++){
var sp = new Ext.Panel({
title:arr[i]['title'],
border:false
});
if(arr[i]['forward'] == null){
var loader=new Ext.tree.TreeLoader({
url:'sysMenu.do?method=getTreeJSON&parentId=' + arr[i]['id']
});
loader.on("beforeloader",function(loader,node){
loader.baseParams.id = node.id.substr(4);
});
var root=new Ext.tree.AsyncTreeNode({
id:"treeRoot",
text:''});
var ptree = new Ext.tree.TreePanel({
border:false,
rootVisible:false,
root:root,
loader:loader
});
//ptree.on('click', function(node, e){
// if(node.isLeaf()){
// e.stopEvent();
// mainPanel.loadClass(node.attributes.href, node.id);
// }
//});
sp.add(ptree);
}
this.add(sp);
this.doLayout();
}
}
});
|

