想要使用自定义调度事件发送参数

时间:2009-04-27 06:45:27

标签: actionscript-3

我正在创建一个库。这是一个例子

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

我在app端有一个听众。所以当我手动调度事件时,我想要 “ob”作为参数发送。怎么做?

3 个答案:

答案 0 :(得分: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));

答案 1 :(得分:5)

在AS3中,您可以使用DataEvent:

例如:

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

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

我希望这会有所帮助。

最好的问候,RA。

答案 2 :(得分:0)

使您的自定义事件带有此ob对象。将它传递给自定义事件的ctor并瞧!