2009-04-27 9 views
6

Ich erstelle eine Bibliothek. Hier ist ein BeispielWill Parameter mit benutzerdefinierten Dispatch-Ereignis senden

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

ich einen Zuhörer auf dieses Ereignis in App Seite. Wenn ich das Ereignis manuell absende, möchte ich das "ob" als Parameter senden. Wie es geht?

Antwort

0

Machen Sie Ihre benutzerdefinierte Veranstaltung dieses ob Objekt. Übergeben Sie es an die ctor und voila!

+1

danke ... wäre hilfreicher, wenn ich ein einfaches Beispiel habe, wie ich neu bin als! – kp11

20

Sie müssen eine benutzerdefinierte Ereignisklasse mit zusätzlichen Eigenschaften erstellen, um Daten mit ihr zu übergeben. In Ihrem Fall könnten Sie eine Klasse wie

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

} 

dann verwenden, wenn yo versenden Sie tun:

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

Ein Tippfehler im Konstruktor: Datum sollte Daten sein: public function YourEvent (type: String, date: Object ... – David

5

in AS3 können Sie Dataevent verwenden:

ex:

dispatch (neu DataEvent (Typ: String [, bubbles: Boolean = false, abbrechen: Boolean = false, data: String]);

Anstelle von Beispieldaten habe ich die Parameter von DataEvent gezeigt.

Ich hoffe, das hilft.

Mit freundlichen Grüßen, RA.

Verwandte Themen