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