Foro

llamadas entre componentes

0
hola tengo estos dos codigos:
Ext.ns('aplicacion1');  
aplicacion1.Ventana1 = {  
		init: function(){ 
			ventana=new Ext.Window({
				width:300,
				heigth:300,
				html:"<p>hola mundo 2</p>"				
			});
		    } ,
		ensenar:function(){
			ventana.show();
		}
	}  
   Ext.onReady(aplicacion1.Ventana1.init,aplicacion1.Ventana1);   
este primer codigo lo importo en la pagina index como <script language.... etc ect, y este otro lo pongo directamente en la pagina index dentro de sus tags <script>
Ext.ns('aplicacion2');  	
	aplicacion2.Ventana = {  
		init: function(){  
		  Ext.QuickTips.init();
			ventana=new Ext.Window({
				width:300,
				heigth:300,
				html:"<p>hola mundo</p>",
				tbar:{
					items:[{
						text:"abrir ventana 1",
						handler:function(){
							var p = new aplicacion1.Ventana1();
							p.ensenar();
						}
					}]
				}
				
			}).show();
		    }  
	}  
      
	Ext.onReady(aplicacion2.Ventana.init,aplicacion2.Ventana); 
y como lo estoy haciendo mal me da error <!-- s;) --><!-- s;) -->, alguno me puede decir como hacerlo bien?? jeje Gracias y un saludo.
0
no puedes crear instancias de un objeto, necesitas crear una función constructora para poder crear varias isntancias.
Ext.ns('aplicacion1'); 
aplicacion1.Ventana1 = function(){ 
//variables y métodos privados
var ventana=new Ext.Window({
            width:300,
            heigth:300,
            html:"<p>hola mundo 2</p>"            
         });
return {//variables y métodos públicos
      ensenar:function(){ //este método puede acceder
         ventana.show(); //a las variables privadas
      }
   } 
}
ademas el "onReady" no es necesario ponerlo aquí, normalmente solo se usa una vez para iniciar la aplicación. saludos
0
Muchas gracias <!-- s;) --><!-- s;) -->

¿Conoces a alguien que pueda responder esta pregunta? Comparte el link en Twitter o Facebook

Es necesario registrarse para poder participar en el foro! Si ya tienes una cuenta puedes entrar y comentar en este foro.