v3_03 从自定义组件中派发一个值对象

v3_03 Dispatching a value object from the custom component 从自定义组件中派发一个值对象
 
ex3_03
这部分主要讲了如何提交一个form到主应用程序中,其实主要内容前面已经讲过了
这里主要是对之前内部的串联
 
这部分的起点是MVC那个例子
1.首先建一个请求提交参数的对象
package valueObjects
{
public class VehicleRequest
{
public var id:String;
public var mobilePhone:String;
public var phone:String;
public var pickupDate:String;
public var returnDate:String;
public function VehicleRequest()
{
}
}
} 
  
2.在提交按钮上处理事件,new一个提交对象
<!--WizRtf2Html Charset=0 -->
protected function submitButton_clickHandler(event:MouseEvent):void
{
var vehicleRequestData:VehicleRequest = new VehicleRequest();
vehicleRequestData.id = dropDownList.selectedItem.id;
vehicleRequestData.phone = phone.text;
vehicleRequestData.mobilePhone = mobilePhone.text;
vehicleRequestData.pickupDate = pickupDate.selectedDate.toDateString();
vehicleRequestData.returnDate = returnDate.selectedDate.toDateString(); 


} 
 
 
3.然后扩展一个Event类来将数据传递回主应用程序
步骤同之前例子
扩展Event类
<!--WizRtf2Html Charset=0 -->
package events
{
import flash.events.Event;

import valueObjects.VehicleRequest;

public class VehicleRequestEvent extends Event
{
public var vehicleRequestData:VehicleRequest

public function VehicleRequestEvent(type:String, vehicleRequestData:VehicleRequest)
{
super(type);
this.vehicleRequestData = vehicleRequestData;
}

override public function clone():Event
{
return new VehicleRequestEvent(type, vehicleRequestData);
}
}
} 
 
 
metadata标签中加入Event
<!-- Metadata ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
<fx:Metadata>
[Event(name="vehicleRequestEvent", type="events.VehicleRequestEvent")]
</fx:Metadata> 
  
提交事件中new一个事件对象,并赋值
protected function submitButton_clickHandler(event:MouseEvent):void
{
var vehicleRequestData:VehicleRequest = new VehicleRequest();
vehicleRequestData.id = dropDownList.selectedItem.id;
vehicleRequestData.phone = phone.text;
vehicleRequestData.mobilePhone = mobilePhone.text;
vehicleRequestData.pickupDate = pickupDate.selectedDate.toDateString();
vehicleRequestData.returnDate = returnDate.selectedDate.toDateString(); 

var eventObject:VehicleRequestEvent = new VehicleRequestEvent("vehicleRequestEvent",vehicleRequestData);
dispatchEvent(eventObject);

} 
 
 
主应用程序中处理事件
<components:VehicleRequestForm employees="{employees}" 
vehicleRequestEvent="vehiclerequestform1_vehicleRequestEventHandler(event)"/>
  
 
protected function vehiclerequestform1_vehicleRequestEventHandler(event:VehicleRequestEvent):void
{
Alert.show("Your vehicle request has been submitted");
}
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值