2009-04-27 8 views
6

Sto creando una libreria. Ecco un esempioDesidero inviare parametri con evento di spedizione personalizzato

[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")); 
    } 

Ho un ascoltatore per questo evento nel lato app. Quindi, quando invio manualmente l'evento, desidero che sia inviato l' "ob" come parametro. Come farlo?

risposta

0

Trasforma il tuo evento personalizzato in questo oggetto ob. Passalo al ctor dell'evento personalizzato e voilà!

+1

grazie ... sarebbe più utile se ho un semplice esempio come sono nuovo a come! – kp11

20

È necessario creare una classe evento personalizzata con proprietà aggiuntive per passare i dati con essa. Nel tuo caso si potrebbe usare una classe come

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); 
    } 

} 

poi quando yo spedizione si fa:

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

Un errore di battitura nel costruttore: data dovrebbe essere data: public function YourEvent (type: String, date: Object ... – David

5

In AS3 è possibile utilizzare DataEvent:

es:

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

Invece dei dati di esempio, ho mostrato i parametri DataEvent.

Spero che questo aiuti.

Cordiali saluti, RA.

Problemi correlati