2009-04-27 71 views
6

我正在创建一个库。这里是一个例子想用自定义调度事件发送参数

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

我有一个应用程序端的事件监听器。所以当我手动调度事件时,我希望 “ob”作为参数发送。怎么做?

回答

0

让您的自定义事件携带此ob对象。将它传递给自定义事件的ctor和瞧!

+1

谢谢...如果我有一个简单的例子,我会更有帮助,因为我是新手! – kp11 2009-04-27 07:36:07

20

您需要创建一个具有额外属性的自定义事件类来传递数据。你的情况,你可以使用像

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

} 

一类,然后当溜溜派遣你做:

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

构造函数中的错字:date应该是data:public function YourEvent(type:String,date:Object ... – David 2010-08-25 13:32:14

5

在AS3中,你可以使用DataEvent:

例如:

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

而不是示例数据,我显示了DataEvent所需的参数。

我希望这会有所帮助。

最好的问候,RA。

相关问题