自定义Flex事件,实现组件间传递事件
2012-12-05 12:15
471 查看
1.首先定义一个Event类,假设类名为PhotosEvent。
packagecom.exhdLib
{
import flash.events.Event;
//自己申明的时间继承于Event类
public class PhotosEvent extends Event
{
//这里是这个文件的核心,可以扩展多个事件,形成事件列表,即申明事件名称
//在事件后点就会出现在提示里,很方便。
public static const PAUSEMOVE:String = "PauseMove";
//这里前三个参数是继承于Event类,后面的myStr是自己定义的事件参数,可以定义多个参数
public function PhotosEvent(type:String,bubbles:Boolean=false, cancelable:Boolean=false, myStr:String=null)
{
if(myStr!=null) _myStr=myStr;
super(type, bubbles, cancelable);
}
private var _myStr:String;
//下面两个方法都是定义事件的属性
public function getmyStr():String
{
return _myStr;
}
Public function set myStr(myStr:String):void
{
_myStr=myStr;
}
}
}
2.然后“调用”,在控制条(ToolBar)里相应的地方,写派发的事件。
//我们调用的事件,就是在PhotosEvent类里定义好的,清楚吧。
//注意前面要引用一下PhotosEvent类
dispatchEvent(new PhotosEvent(PhotosEvent.PAUSEMOVE));
3.最后“响应”,有两种方法:
一种是添加监听事件,在Main.mxml里添加如下代码
import com.exhdLib.PhotosEvent;
import flash.events.Event;
private function Init():void
{
Toolbar.addEventListener(PhotosEvent.PAUSEMOVE,PausePhoto);
}
private function PausePhoto(Event:PhotosEvent):void
{
//dosomthing
}
一种是在ToolBar组件里增加响应方法:
//注意红色的必须和PhotosEvent里的事件名称相同PauseMove
<mx:Metadata>
[Event(name="PauseMove", type="com.exhdLib.PhotosEvent")]
</mx:Metadata>
这样就可以在Main.mxml直接调用这个方法了
<ToolBar:BarContral id="Toolbar" PauseMove="doSomethingCode"
width="100%" height="20%"XML_URL="data/photo.xml"/>
两种方法效果一样,就看个人喜好了
packagecom.exhdLib
{
import flash.events.Event;
//自己申明的时间继承于Event类
public class PhotosEvent extends Event
{
//这里是这个文件的核心,可以扩展多个事件,形成事件列表,即申明事件名称
//在事件后点就会出现在提示里,很方便。
public static const PAUSEMOVE:String = "PauseMove";
//这里前三个参数是继承于Event类,后面的myStr是自己定义的事件参数,可以定义多个参数
public function PhotosEvent(type:String,bubbles:Boolean=false, cancelable:Boolean=false, myStr:String=null)
{
if(myStr!=null) _myStr=myStr;
super(type, bubbles, cancelable);
}
private var _myStr:String;
//下面两个方法都是定义事件的属性
public function getmyStr():String
{
return _myStr;
}
Public function set myStr(myStr:String):void
{
_myStr=myStr;
}
}
}
2.然后“调用”,在控制条(ToolBar)里相应的地方,写派发的事件。
//我们调用的事件,就是在PhotosEvent类里定义好的,清楚吧。
//注意前面要引用一下PhotosEvent类
dispatchEvent(new PhotosEvent(PhotosEvent.PAUSEMOVE));
3.最后“响应”,有两种方法:
一种是添加监听事件,在Main.mxml里添加如下代码
import com.exhdLib.PhotosEvent;
import flash.events.Event;
private function Init():void
{
Toolbar.addEventListener(PhotosEvent.PAUSEMOVE,PausePhoto);
}
private function PausePhoto(Event:PhotosEvent):void
{
//dosomthing
}
一种是在ToolBar组件里增加响应方法:
//注意红色的必须和PhotosEvent里的事件名称相同PauseMove
<mx:Metadata>
[Event(name="PauseMove", type="com.exhdLib.PhotosEvent")]
</mx:Metadata>
这样就可以在Main.mxml直接调用这个方法了
<ToolBar:BarContral id="Toolbar" PauseMove="doSomethingCode"
width="100%" height="20%"XML_URL="data/photo.xml"/>
两种方法效果一样,就看个人喜好了
相关文章推荐
- vuejs2.0实现分页组件,使用$emit进行事件监听数据传递
- 为Flex自定义组件添加属性和事件
- vuejs2.0实现分页组件,使用$emit进行事件监听数据传递
- Vue EventBus自定义组件事件传递
- Flex之旅:第一部分:flex必备基础知识积累(2)---自定义事件以及事件数据传递
- FLEX中给组件添加自定义事件
- vuejs2.0实现分页组件,使用$emit进行事件监听数据传递
- FLEX自定义组件调用事件
- vuejs2.0实现分页组件使用$emit进行事件监听数据传递的方法
- Flex 使用wigdet组件库 实现自定义事件 派发 和 监听
- Flex 实现一个自定义组件
- Flex 实现一个自定义组件
- FLEX实践: 组件传递事件的处理
- Flex自定义组件与自定义事件
- FLEX中给组件添加自定义事件
- 教你7步实现flex自定义Event及参数传递
- View事件传递与绘制机制,自定义View实现理解
- Flex实现组件自定义倒影效果之二:继承于Effect
- flex自定义组件button实现关闭
- vuejs2.0实现分页组件,使用$emit进行事件监听数据传递