在as3.0中已经预定义了很多事件可供用户使用,但是如果需要传输自定义数据类型的数据时却没有合适的事件,DataEvent只能传输String,不能满足要求,所以我们继承Event类编写一个CustomerEvent,代码如下:
package com.leslie.WebComponent.Event {
import flash.events.Event;
import fl.controls.Label;
public class CustomerEvent extends Event{
static public var CUSTOMER_EVENT = "customerEvent";
public var customerData : Object; //利用动态类传输数据
public function CustomerEvent(type : String,
bubbles : Boolean = false,
cancelable :
Boolean = false,
o : Object = null)
{
// constructor code
super(type, bubbles, cancelable);
customerData = o;
}
override public function clone() : Event{
return new CustomerEvent(type, bubbles, cancelable, customerData);
}
}
}
特别注意需要编写clone函数已支持对象复制。Object对象可以任意创建属性存储数据,也可以让自定义类型继承Object利用多态性传输数据。