自定义事件

自定义事件大概有四步:

一:创建自定义事件类

package com.beyondsoft.events
{
	import com.beyondsoft.vo.Book;
	
	import flash.events.Event;

	public class BookEvent extends Event
	{
		public static var ADDBOOK:String="addbook";//事件类型
		
		public var book:Book;//添加book的对象
		
		public function BookEvent(type:String, bookValue:Book, bubbles:Boolean=false, cancelable:Boolean=false)
		{
			super(type, bubbles, cancelable);//这句必须要写
			this.book=bookValue;
		}
		//重写clone方法 
		override public function clone():Event{
			return new BookEvent(type,book);
		}
		
		
	}
}

 

 

2 利用[Event]定义事件

   

<mx:Metadata>
[Event(name="addbook",type="com.beyondsoft.events.BookEvent")]
</mx:Metadata>

 

 

3 触发事件

 

private function addBookEvent():void{
    var book:Book=new Book();
    book.name="name";
    book.author="author";
    var bookEvent:BookEvent=new BookEvent();
    bookEvent.book=book;
    dispatchEvent(bookEvent);
}

 

4 注册BookEvent的监听器

private function init():void{
    btn.addEventListener(BookEvent.ADDBOOK,addBook);
}
private function addBook(event:BookEvent):void{
    var book:Book=event.book;
    Alert.show(book.name);
}

 

 flex开发的精髓在于:基于组件的事件驱动开发,事件可以用在多窗口的传值中,事件是传值的“信使”,自定义事件可以共享数据。

 

如果熟练掌握了flex的事件机制后就要研究下flex的mvc开发模型了,请参考cairngorm学习笔记一这篇文章

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值