使用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();
		}
	}
});


Global site tag (gtag.js) - Google Analytics