我正在创建一个库。这是一个例子
[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”作为参数发送。怎么做?
答案 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并瞧!