flex4--自定义控件间通信

    最近在学习《一周学习flex4视频中文版》,“第四天”的第二课“扩展事件类并传递数据,看了视频后自己动手练了练,发现有几点需要注意,写下来下次遇到的时候就不用乱找了:

    1。继承事件的类中如果有数据对象(作参数)的话,它的类型必须是Object,不能是具体类。

     代码:

    package customEvents
{
 
 import flash.events.Event;
 
 public class PreviewEvent extends Event
 {
  public var employee:Object;//公共类成员必须是object
  public var message:String;
  public function PreviewEvent(type:String,employee:Object,message:String) //参数中的对象employee也必须
  {                                                                                                                       //是object类型
      this.employee=employee;
   this.message=message;
   super(type);
  }
 }
}

 

2.在抛出事件时需要注意,事件的type是metaData中申明的事件类型,而不是我们之前定义的类型,比如说在metaData中如下申明:

  [Event(name="pEvent",type="customEvents.PreviewEvent")]

 

 那么在初始化事件的时候的写法:

 

 var currEvent:PreviewEvent=new PreviewEvent("pEvent",ddlEmployee.selectedItem,txtMsg.text);

 

 而不能用PreviewEvent。

 

 3。就是在2代码中,创建currEvent是,用到的第二个参数是个dropDownList的选中项,该项作为一个对象传递进来。而不必使用

 

具体的employ对象。就是说flex自动把xml中的employee对象绑定到dropDownlist中,当要取出其中的对象使用时,直接用

 

ddlEmployee.selectedItem便可。在另一个接收参数的自定义组件中,我们需要定义的也是Object类型的Employee变量,但是在

 

处理数据时,我们可以这样取employee的姓名:employee.name 或者employee.age(年龄)。

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值