^M Flex: Paso de variables entre Módulos | Andrés Villagrán Placencia

Flex: Paso de variables entre Módulos

Suponiendo que necesitamos pasar de una pantalla a otra el valor de un numero por ejemplo (puede ser un id dentro de la tabla), dentro de la aplicación principal deben agregar una variable para guardar esta información (el código siguiente no esta completo):
Inicio.mxml:

  1. <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
  2. <mx:Script>
  3. <![CDATA[
  4. public var id_modulo:int; // Esta es la variable donde guardaré el valor
  5. ......
  6. ]]>
  7. </mx:Script>
  8. ....
  9. </mx:Application>

Modulo1.mxml:
Ahora queremos que al hacer click en un botón "Siguiente" guarde el valor del id que necesitamos.

  1. <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
  2. <mx:Script>
  3. <![CDATA[
  4. private function Funcion_Click_Boton_Siguiente():void {
  5. // Aquí guardamos nuestro valor en la aplicación principal,
  6. // después lo obtendremos de la misma forma
  7. Application.application.id_modulo = 10;
  8.  
  9. // Después de guardar, nos cambiamos al siguiente modulo
  10. Application.application.CargaModulo("Modulo2");
  11. }
  12. ......
  13. ]]>
  14. </mx:Script>
  15. <mx:Button label="Siguiente" click="Funcion_Click_Boton_Siguiente()" />
  16. </mx:Application>

Modulo2.mxml:
Ahora pedimos a la aplicación principal el valor previamente guardado y lo mostramos como una alerta cuando carga la aplicación, dentro de Application se define initialize para utilizar una función al momento de cargar un módulo.

  1. <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" initialize="CargarInicio()">
  2. <mx:Script>
  3. <![CDATA[
  4. // Necesario para poder utilizar el pop-up de alerta
  5. import.mx.controls.Alert;
  6. // Bindable se utiliza sólo si necesitan utilizar la variable
  7. // como valor en algún componente
  8. // Si no lo van a utilizar para eso, descartenlo
  9. [Bindable]
  10. private var id_a_utilizar:int;
  11.  
  12. public function CargarInicio():void {
  13. id_a_utilizar = Application.application.id_modulo;
  14. Alert.show("Mi variable tiene el valor: " + id_a_utilizar);
  15. }
  16. ......
  17. ]]>
  18. </mx:Script>
  19. ....
  20. </mx:Application>

Tags: ,

Wednesday, June 25th, 2008 Flex, Programación

10 Comments to Flex: Paso de variables entre Módulos

  1. Good for people to know.

  2. Cary on October 28th, 2008
  3. COMO HAGO PARA QUE UN MODULO TENGA UNA CIERTA POSICION DENTRO
    DEL CARGADOR DE MODULOS Y NO ME QUEDE PEGADO AL LADO DERECHO
    DEL CARGADOR???????????????????????

  4. XCOM on November 6th, 2008
  5. Hola XCOM…

    Debes especificar sus propuedaes x, y, o usar contrains o algo así en el layout del module loader… con un canvas o algo asi…

    Yo tengo un problema pero con el centrar un popup respecto a la aplicación y no respecto al módulo desde donde lo cargo..

  6. Christian Arias on November 20th, 2008
  7. existe alguna forma para acceder a las variables sin necesidad de usar Application.application ???

    Quizás enviando los parámetros directamente al PopUp o que el popup los obtenga de otra forma???

  8. Juan Felipe on January 3rd, 2010
  9. […] un post anterior (y muy antiguo) comentaba que se podía utilizar Application.application para comunicarse con la […]

  10. Comunicación entre componentes/modulos utilizando Singleton « Andrés Villagrán Placencia on January 28th, 2010
  11. admin on January 28th, 2010
  12. como llamo una pantalla a otra mediante un click a un boton

  13. carlos sol on March 17th, 2013
  14. Mil gracias por compartir. . . .

  15. Jacobo Morales on June 24th, 2013
  16. Carlos Sol
    Espero te sirva lo siguiente . . .
    Creas un componente MXML en el mismo proyecto Flex que estes trabajando para este Ejemplo se llamara Busqueda mi componente.

    Ahora en tu actionScript creas una funcion que tenga el siguiente codigo:

    public function abrirVentana():void{

    var ventana : Busqueda = new Busqueda();
    PopUpManager.addPopUp(ventana,this,true);
    PopUpManager.centerPopUp(ventana);
    }

    Y esa funcion la llmas desde tu boton

    Ojala te haya ayudado
    Saludos

  17. Jacobo Morales on June 24th, 2013
  18. Hola, me gustaria saber como poner una ur en una imagen, quiero ir a un modulo de mi programa ero solo dando click en la imagen, solo que n puedo poner solo la url ya que no importa en que modulo este a url siempre sera la misma, me podrias ayudar

  19. Maribel on July 15th, 2013

Leave a comment