2009-04-27 9 views
6

Estoy creando una biblioteca. Aquí hay un ejemploQuiere enviar parámetros con el evento de envío personalizado

[Event (name="eventAction", type="something")] 
      public function create_new_customer(phone_number:String):void 
    { 
     -------------; 
        ----; 
        ------------; 
      rpc.addEventListener(Event.COMPLETE, onCreate_returns); 
    } 

    private function onCreate_returns(evt:Event):void 
    { 
     var ob:Object = evt.target.getResponse(); 
     dispatchEvent(new something("eventAction")); 
    } 

Tengo un oyente de este evento en el lado de la aplicación. Así que cuando envío el evento manualmente, quiero que se envíe el "ob" como parámetro. ¿Cómo hacerlo?

Respuesta

0

Haga que su evento personalizado lleve este objeto ob. Pasalo al ctor del evento personalizado y listo!

+1

gracias ... sería más útil si tengo un ejemplo simple ya que soy nuevo en como! – kp11

20

Debe crear una clase de evento personalizada con propiedades adicionales para pasar datos con ella. En su caso se puede utilizar una clase como

public class YourEvent extends Event 
{ 
    public static const SOMETHING_HAPPENED: String = "somethingHappend"; 

    public var data: Object; 

    public function YourEvent(type:String, data: Object, bubbles:Boolean=false, cancelable:Boolean=false) 
    { 
     super(type, bubbles, cancelable); 

     this.data = data; 
    } 

    override public function clone():Event 
    { 
     return new YourEvent (type, data, bubbles, cancelable); 
    } 

} 

luego, cuando yo envían haces:

dispatchEvent(new YourEvent(YourEvent.SOMETHING_HAPPENED, ob)); 
+0

Un error tipográfico en el constructor: la fecha debe ser datos: función pública YourEvent (tipo: String, date: Object ... – David

5

en AS3 puede utilizar DataEvent:

ejemplo:

dispatchEvent (nueva DataEvent (tipo: String [, bubbles: Boolean = false, cancelable: Boolean = false, data: String]);

En lugar de datos de ejemplo, mostré los parámetros que toma DataEvent.

Espero que esto ayude.

Recuerdos, RA.

Cuestiones relacionadas