Enlaces e información
Comenta lo que creas oportuno.
- Otros posts
- Cairngorm
- Flex… y vuelta a empezar…
Event Bubbling en FLEX
Si se quiere crear un componente complejo, pero que sirva para realizar diversas operaciones, lo mejor es atrapar sus eventos y aplicarle operaciones concretas, según se utilice dicho componente.
Esto me ha pasado recientemente. He desarrollado un componente que muestra dos selectores de fechas y un boton de busqueda. Es muy comun hacer busquedas entre dos fechas, luego es muy común utilizar un control de este tipo. La gran diferencia aparecerá cuando, al darle al boton de buscar por rango de fechas, me haga cosas distintas segun el lugar donde se encuentre dicho control.
Para ello, se indica que este control va a generar un evento cuando se pulse el click del boton de busqueda. Esto implica, atrapar primero el evento click del boton y relanzarlo al contenedor del componente como si un evento propio fuese. Esto es lo que se conoce como Event Bubbling y no es más que un encadenamiento de eventos.
Para ello, definimos dentro del componente que vamos a lanzar un evento:
<mx:Metadata>
[Event(”buscar”)]
mx:Metadata>
Indicamos al boton que vamos a atrapar el evento click:
<mx:Button label=“Ir“ id=“cmdBuscar“ click=“onBuscar(event);“ />
Y, por último codificamos la funcion onBuscar:
private function onBuscar(event: Event) : void
{
dispatchEvent(new Event(”buscar”));
}
Sin olvidarnos de incluir el paquete: flash.events.EventDispatcher.
A partir de este momento, en cualquier lugar de nuestro codigo podremos incrustar el componente completo y atrapar el evento del boton para realizar busquedas específicas, según el lugar donde hayamos puesto el nuevo componente:
<ns1:controlEntreFechas height=“27“ buscar=“Alert.show(’Buscar’);“>
ns1:controlEntreFechas>
Hola, estoy recien en el mundo de flex, encontre interesante muy articulo.
Me gustaria, que pusieras, si es posible el ejemplo entero o uno basico, para asi estudiar bien eso que se llama Event Bubbling
–
Gracias por el articulo, se te agradece