惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

宝玉的分享
宝玉的分享
I
InfoQ
B
Blog
Engineering at Meta
Engineering at Meta
Y
Y Combinator Blog
GbyAI
GbyAI
T
The Blog of Author Tim Ferriss
G
Google Developers Blog
量子位
The Cloudflare Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
小众软件
小众软件
博客园 - 【当耐特】
Hugging Face - Blog
Hugging Face - Blog
阮一峰的网络日志
阮一峰的网络日志
博客园 - 司徒正美
美团技术团队
人人都是产品经理
人人都是产品经理
博客园 - 三生石上(FineUI控件)
酷 壳 – CoolShell
酷 壳 – CoolShell
大猫的无限游戏
大猫的无限游戏
罗磊的独立博客
博客园 - 聂微东
IT之家
IT之家

博客园 - 晓光

Android获取手机短信 Android系统的进程,任务,服务的信息 Android程序如何安装到内存或卡中 (转)解决Debug certificate expired的问题 (转)Android ViewGroup的onInterceptTouchEvent()事件分析 (转)禁止横屏和竖屏切换 (转)Android Bitmap 与 Drawable之间的转换 (转)Android中两种设置全屏的方法 (转)Android之getSystemService (转)SQL Server Compact Edition 数据库连接字符串 (转)Android Project Structure (转)SqlDateTime溢出类错误解决 C# 数据库连接字符串集合 - 晓光 - 博客园 Android Activity生命周期 Flex HttpService,WebService简单介绍 (转)Flex Modules通信(1)——通过接口 (转)Canvas不能接收 rollOver和roolOut事件的解决方案 - 晓光 - 博客园 (转)FLEX中使用outerDocument - 晓光 - 博客园 (转)C# Hashtable Synchronized vs SyncRoot
(转)Flex Module通信(2)——使用事件
晓光 · 2010-08-20 · via 博客园 - 晓光

上一篇讨 论通过实现接口来实现Application和Modules的通信,本篇讨论通过使用事件实现Application和Modules的通信。在一个 swf中,组件间的交互通信可以直接使用addEventListener和dispatchEvent来完成事件的传递。当然这样的标准做法也适用于 Module。

      通过addEventListener和dispatchEvent在Module发布事件:

 1:  <?xml version="1.0" encoding="utf-8"?>
 2:  <mx:Module xmlns:mx="http://www.adobe.com/2006/mxml" creationComplete="onComplete()">
 3:   <mx:Script>
 4:   <![CDATA[
 5:              import mx.events.DynamicEvent;
 6:   
 7:              [Bindable]private var command:String="";
 8:              private function onComplete():void
 9:   {
                     //从Application订阅
10:                  var sharedEventDispatcher:IEventDispatcher=systemManager.loaderInfo.sharedEvents;
11:   
12:                  sharedEventDispatcher.addEventListener("init",onInit,false,0,true);
13:                  //通知Application:Module创建完成
14:                  sharedEventDispatcher.dispatchEvent(new Event(Event.COMPLETE));
15:              }
16:    
17:              private function onInit(event:DynamicEvent):void
18:   {
19:                  command=event.data as String;
20:              }
21:   
22:          ]]>
23:      </mx:Script>
24:   
25:   <mx:Panel id="panel" title="Module With Events. {command}" width="400"  height="200"/>
26:  </mx:Module>
27:   

        运行结果,LoadModule后显示从Application传入的内容:

image