Como segmentar mi aplicacion
Tengo un archivo donde tengo guardado el formulario de domicilio el cual lo cargo dentro del head
<script type="text/javascript" src="js/domicilio.js"></script>
y dentro del handler de un boton creo una ventana y le agrego la variable que guarda el formulario de domicilio, y la primera vez que hago click en el boton muestra la ventana y el formulario pero al cerrar la ventana y hacer click en el boton solo muestra la ventan, no se si tenga que ver con el garbage collector o si exista una forma de poder trabajarlo asi.
e fragmento de código es el siguiente
tbar: [{ text:'Datos Generales', handler:function(){ var w = new Ext.Window({ title:'Datos Generales', border: false }); w.add(usuario); w.show(); }
intenta hacer lo siguiente:
tbar: [{ text:'Datos Generales', handler:function(){ var w = new Ext.Window({ title:'Datos Generales', border: false }); var tmp = usuario; w.add(tmp); w.show(); }la verdad no estoy seguro, pero por lo que me cuentas parece ser que la información que tienes contenida en "usuario" es eliminada cuando cierras la ventana, y como bien dices, el collector limpia la memoria, lo que te sugiero es hacer una referencia nueva para que el collector no la borre. prueba y me dices que pasó. saludos
Síp, efectivamente el recolector lo destruia cuando cerraba la ventana, ahora que he resuelto este problema me surgio otro, si el boton genera una ventana como prevenir que se generen multiples instancias de la misma ventana, lo que se me ocurrio es asignarle el id y no crearla si el lenght es mayor es igual a 1, existe alguna forma mejor de implementarlo?
bueno se podria haber solucionaso tambien con una propiedad que tiene las ventanas de Ext que les dice que hacer con la propiedad closeAction que por default trae "close" que remueve la ventana del DOM y la destruye. con poner esa propiedad en "hide creo que hubiera bastado".
Ahora para el otro problema se puede solucionar desabilitando el boton al momento que se genera la ventana , y en el momento en que se oculta lo activas de nuevo, bueno eso se me ocurrio a mi, la otra seria coom le asignas el id pues lo buscas en el dom y si existe pues ya no la creas de nuevo. otra solucion posible es hacer la ventana de tipo modal entonces con eso enmascaras la parte de atras dejanddo solo funcional la ventana que te mostro y la mascara se remueve cuando cierras la ventana.
aunque la del boton me parece mejor solucion ya que si ese boton lo unico que hace es generar la ventana, lo mejor es desabilitarlo, asi tus usuarios no se confunden al ver que se puede presionar varias veces.
¿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.