Comunidad de diseño web y desarrollo en internet online

estados entre componentes mxml distintas carpetas

Citar            
MensajeEscrito el 11 Ago 2009 04:18 pm
Hola a todos,
Les quiero pedir ayuda por un tema de flex.
Miren en mi aplicacion web cuento con un menu acordeon, bueno de este menu(que se encuentra en un componente mxxml) quiero abrir un estado(currenstate) de otro componente que se encuentra en otra carpeta.
como lo podria hacer???
si es q me ´pueden ayudar porfavor.
saludos.

[email protected],[email protected]

Por neobits

3 de clabLevel



 

firefox
Citar            
MensajeEscrito el 11 Ago 2009 04:45 pm
Las carpetas no son ningún indicador de dependencias, lo que une todo es la aplicación (objeto Application) que muestra los componentes o carga módulos

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 11 Ago 2009 05:24 pm
y me podrias dar un ejemplo. xfa..

Por neobits

3 de clabLevel



 

firefox
Citar            
MensajeEscrito el 11 Ago 2009 05:25 pm
¿Ambos componentes están al mismo tiempo visibles en la aplicación?

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 11 Ago 2009 05:30 pm
si.. el componente del menu acorden esta como un leftpanel y el estado del otro componente en un center panel..algo asii..

Danilo

Por neobits

3 de clabLevel



 

firefox
Citar            
MensajeEscrito el 11 Ago 2009 05:35 pm
Algo así no, tienes que ubicarlos exactamente, sino entrarás en el loop "no me funciona ..."
Luego la idea es que llames una función en Application que cambie el estado (lo mas simple) o establezcas un sistema de evento (lo mas correcto) Lo mas simple sería:

//desde el componente
import mx.core.Application
//... la llamada sería
Application.application.changeState()

En Application

Código ActionScript :

public function changeState():void{
   someComponent.currentState = "estado"
}


someComponent sería el id del componente

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 12 Ago 2009 02:00 pm
Trate pero no pasa nada me sale un error...Sabes pero yo quiero llamar un metodo de un componente que no es "Application", si no uno simple, a otro simple....
mira esto due lo que hice...
tengo 3 componentes:
1.home.mxml
2.mantenedorCuentasUsuario.mxml( id=mant_usuario)
3.menuAdministracion.mxml
pasos a seguir.
a) en home.mxml coloque:

Código ActionScript :

         public function cambiarEstado():void
         {
            mant_usuario.currentState='';
         }


b)Luego en menuAdministracion.mxml ya que de este quiero llegar a mantenedorCuentasUsuario.mxml, coloqué

Código ActionScript :

                              import mx.core.Application;
            public function estadoInicial():void
            {
               Application.application.cambiarEstado();
               
            }

para llamar a ese metodo utilizo lo siguiente:

Código ActionScript :

 <mx:LinkButton label="Cuentas de Usuarios" click="estadoInicial()"/>



el error que aparece es en home.mxml , que dice:

Código ActionScript :

 "Access of undefined property mant_usuario"



POr que hago todo esto??
1. tengo un menu en:menuAdministracion.mxml, el cual tiene hartas opciones y una de ellas es este componente:
mantenedorCuentasUsuario.mxml
2. este componente(mantenedorCuentasUsuario.mxml) esta en currentState='', ademas en este componente(mantenedorCuentasUsuario.mxml) tengo mas states, como agregarUsuario,modificarUsuario,Agregar privilegios.
3.cuando agrego un usuario estoy en state(agregarUsuario), pero luego cuando me muevo en otra opcion(click ) del menuAdministracion.mxml, mi mantenedorCuentasUsuario.mxml queda en estado 'agregarUsuario', y cuando deseo volver a hacer click en menu(menuAdministracion.mxml) para llegar a mantenedorCuentasUsuario.mxml , no me aparece en estado inicial(currentsState=''), si no que quedo en el ultimo que se visitó.
por eso quiero hacer toda esta custion jajajaj,...

me podrias ayudar xfa...saludos.
mi componente

Por neobits

3 de clabLevel



 

firefox
Citar            
MensajeEscrito el 12 Ago 2009 02:07 pm
Los componentes no tienen ninguna relación entre si a priori, por lo tanto no existe tal comunicación. Se relacionan en tanto coexisten en una misma aplicación (objeto Application) o son cargados como modulos de nuevo en un objeto Application. Mi respuesta vale en tanto esa condición se verifique, si no coexisten su relación tampoco

El error es porque mant_usuario parece no ha sido instanciado en Application al momento de hacerse la llamada

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 12 Ago 2009 03:21 pm
y como lo instancio, si

Código ActionScript :

 mant_usuario
es el id mantenedorCuentasUsuario.mxml
...
:(

Por neobits

3 de clabLevel



 

firefox
Citar            
MensajeEscrito el 12 Ago 2009 03:23 pm
El evento que indica que un elemento ha sido instanciado en escena es el creationComplete, si lo tienes en un ViewStack por ejemplo tienes que especificar el creationPolicy = all para que todo lo que contiene el ViewStack se instancie

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.