首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 媒体动画 > flex >

5分钟学会Flex自定义事件

2012-11-22 
【原创】5分钟学会Flex自定义事件网上介绍flex自定义事件的日志有几篇,重复的就不算了哈。先说下login,userin

【原创】5分钟学会Flex自定义事件

网上介绍flex自定义事件的日志有几篇,重复的就不算了哈。

先说下login,userinfo那个,它的思路就是

1.先自定义一个事件,就是继承event类就可以了,声明个静态字符常量,再了解一下构造函数的参数。如果想用事件传递数据就定义一个变量,什么类型的变量都行,事件也是个类,它可以有自己的随意的属性。在构造函数里赋值可以,不在构造函数里也没问题,这个是很灵活的。

2.给组件加个元数据,其实就是给组件一个事件通道,目的是什么呢?用Button的时候空格一下会出个click,加个元

 数据就是能出来个自己定义的名字的东东,而且用法给click一样[Event name='自己定义的名字',type=‘自定义事件的类名’],一般用个this.dispatchEvent(那个事件)给发出去

3.在它的父容器里,像用click那样用吧,指定个响应函数就OK了。然后把事件里传递的数据“卸货”。

如果有些Flex基础的话,上面这些5分钟应该能搞定一个Demo自己测测了。但这个的应用有局限性,下一位闪亮登场。

有些时候发出事件和监听事件不是父子关系,可能中间隔了好多代,甚至属于旁系亲属,上面说的方法有点力不从心。

做些小改动:

1.多声明一个EventDispatcher,静态常量。(用的时候自己的静态属性发送自己和监听自己,在任意地点)

2.根本不用什么元数据就可以实现了。发送事件用自己的静态常量dispatcher.dispatchEvent

3.接收的时候在任意地点自定义事件的常量dispatcher.addEventListener

自己用的话我推荐第二种,任意地方都能使用,很灵活。如果给别人做个组件用的话,第一种方法显然对于用的人来说

要友好了。结合这两个实例再回头看看事件流会有进一步的理解的。

热点排行