加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Flex 自定义事件(一直不太明白有什么意义)

发布时间:2020-12-15 05:01:46 所属栏目:百科 来源:网络整理
导读:FLEX 系统提供的事件与DOM的事件基本上完全一致 但是和传统的WEB开发不同的是??可以为自定义的组件添加自定义的事件??? 比如我们做了一个组件是一个登录框?? 当点击登录按钮的时候触发我们自定义的事件 比如叫"login"事件? 虽然这个login事件 归根结底还是某
FLEX 系统提供的事件与DOM的事件基本上完全一致 但是和传统的WEB开发不同的是??可以为自定义的组件添加自定义的事件??? 比如我们做了一个组件是一个登录框?? 当点击登录按钮的时候触发我们自定义的事件 比如叫"login"事件? 虽然这个login事件 归根结底还是某个按钮的click事件 但自定义的事件比传统的事件有什么好处呢 :一是事件的名字是自定义的 可以形象的表示这个事件本身 而不像以前还要关心是哪个按钮按了一下等等? 这样为组件与组件的通讯提供便利?? 下面的例子中自定义了一个组件叫testComponent,这个自定义的组件中有一个按钮和一个输入框,当按下这个按钮的时候?? 新建一个新的事件叫shareData
并且shareData事件被声明为一个textEvent?,? textEvent可以通过text属性来传递数据(textInput控件的值) 。

EventTest.mxml中引用了这个自定义组件testComponent 并捕获testComponent中的自定义事件shareData,输出testComponent 中textInput控件的字符串
?
testComponent.mxml :
<?xml version="1.0" encoding="utf-8"?>
<mx:VBox xmlns:mx="http://www.adobe.com/2006/mxml" height="300">
<!-- 声明本组件将抛出的事件 -->
<mx:Metadata>
?[Event(name="shareData",type="flash.events.TextEvent")]
</mx:Metadata>
<mx:Script>
?<![CDATA[
??private function fnOnClick_testComp():void {
???//event 构造函数 至少传递一个事件名
???var event:TextEvent = new TextEvent("shareData");
???event.text = myTxtInput.text;
???//使用disptchEvent 来抛出创建的事件
???dispatchEvent(event);
??}
?]]>
</mx:Script>
?
<mx:Label text="This is the Test component" />
?<mx:TextInput id="myTxtInput"/>
?<!-- 当点击按钮时进行自定义事件 -->
?<mx:Button label="clickMe" click="fnOnClick_testComp()" />
</mx:VBox>
eventTest.mxml :
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical"
?xmlns:view="view.*">
?<mx:Script>
??<![CDATA[
???import mx.controls.Alert;
???private function fnOnShareData(event:TextEvent):void {
????Alert.show("event has been use. event.text => " + event.text );
???}
??]]>
?</mx:Script>
?<!-- 调用我们自定义的组件? 并处理它的shareData事件? 就像click事件一样使用 -->
?<view:testComponent shareData="fnOnShareData(event)"/>
</mx:Application>
转: http://blog.chinaunix.net/space.php?uid=338594&do=blog&id=2131945

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

相关内容
推荐文章
站长推荐
热点阅读