Flex2.01之后提供了modules模块化开发包,开发者可以将程序的某些模块编译成swf,在需要的地方load进去,实现模块化的开发。
现在问题来了,每个module会被编译成swf,在一个Application中,module之间该如何通信交互呢。
通常来说,在一个swf中,组件间的交互通信可以直接addEventListener 和dispatchEvent来完成事件的传递。当然这样标准的做法也适用于module。理解在AS 3.0中事件遵循向上传递的原则,那么下面的工作就好做了。
例如,在一个Application中分别由ModuleLoaderA和ModuleLoaderB加载了两个module,分别为moduleA和moduleB,其中A需要向B传递数据。事件的传递就应该是这样的:moduleA --> ModuleLoaderA --> Application --> ModuleLoaderB --> moduleB。
1. 首先当然先要定义一个事件,那么在moduleA里应该由this.parent.parent来dispatchEvent(事件),this.parent即加载moduleA的ModuleLoaderA,那么this.parent.parent即Application;
2. 在Application中,由ModuleLoaderA来addEventListener(事件),即侦听了由moduleA传上来的事件,侦听到之后再由ModuleLoaderB负责dispatchEvent(事件)。
3. 在moduleB里,this.parent.parent.addEventListener(事件),这样就侦听了由ModuleLoaderB传递的事件。
其实在module里,使用this.systemManager.addEventListener/dispatchEvent也可以完成事件的传递,但是如果一个module里用this.systemManager,而另一个module里使用this.parent.parent却不能传递事件,systemManager并不等于application,systemManager.document才是application,也就是说用systemManager的话必须两者都用,用parent的话也可以使用systemManager.document。不明白的朋友可以仔细阅读Flex的帮助文档。
分享到:
相关推荐
在组件化开发中,不同模块间的通信是非常关键的一环。本篇文章将重点讨论Android组件化开发中的模块间Activity如何相互启动以及如何进行数据传递。 首先,`Activity`是Android四大组件之一,它是用户与应用交互的...
Flex模块间通信是Adobe Flex应用程序开发中的一个重要概念,它允许不同模块之间共享数据、功能和服务。在大型项目中,模块化设计有助于代码组织和管理,提高代码复用性,同时降低复杂度。本示例将深入讲解如何在Flex...
模块间通信(Inter-Module Communication, IMC)则是确保这些模块能够有效地交换数据和控制信息的关键环节。 1. **消息传递**:一种常见的模块间通信方式是通过消息传递。在RPCTest中,可能使用了消息队列、事件或...
根据提供的标题、描述以及部分代码内容,我们可以深入探讨.NET框架中窗体间的交互方式与实现细节。本篇文章将重点解析如何在.NET环境中实现窗体之间的数据传递与交互控制。 ### 窗体间的通信机制 在.NET环境中,...
在Android平台上,有三种主要的通信方式,这些通信方式在React-Native与原生代码之间建立了桥梁。 1. **Bridge(桥接)通信**: React-Native的基础架构中,Bridge是JavaScript和原生代码之间的关键交互机制。它是...
- 在Android中,组件间通信是应用功能集成的关键,包括Activity、Service、BroadcastReceiver和ContentProvider之间的交互。 - 避免使用EventBus:EventBus是一种发布/订阅模式的事件总线,用于简化组件间的通信。...
命名管道是一种在Windows操作系统中实现进程间通信(IPC,Inter-Process Communication)的技术,它允许在同一台计算机或局域网内的不同进程之间交换数据。在.NET框架中,开发者可以使用DotNetNamedPipes库来方便地...
《FastDFS-Nginx-Module 1.22:构建高效Web服务器的融合解决方案》 在互联网服务领域,Nginx以其高效的性能和强大的反向代理能力被广泛应用于Web服务器,而FastDFS作为轻量级的分布式文件系统,能够有效地解决...
1. 性能优化:通过Nginx的高性能特性,减少服务器之间的通信延迟,提升文件上传和下载速度。 2. 负载均衡:Nginx可以作为反向代理,根据策略将请求分发到不同的FastDFS存储节点,提高系统可用性和抗压能力。 3. ...
在Android中,接口常用于组件间的通信,例如`Fragment`与`Activity`之间的通讯。通过定义接口,开发者可以明确指定调用者和被调用者之间的契约,确保代码的清晰性和可测试性。在模块化设计中,接口扮演着至关重要的...
《进程间通信技术在系统集成中的应用》这篇文章探讨了如何在系统集成中利用Windows平台的进程间通信(Inter-Process Communication, IPC)技术,实现图形用户界面(GUI)与控制台程序之间的数据交换。进程间通信是多...
例如,"Figure1 Content Decryption Module Interface Entity Relationship Diagram"可能描述了各个组件(如CDM接口、媒体密钥对象和媒体密钥会话对象)之间如何交互。 此外,文档还提到了修订历史、术语表、缩略语...
下面我们将深入探讨组件化的核心概念、资源冲突的解决方法、子module在库文件与APP之间的切换,以及模块间的通信机制。 首先,组件化的基本概念是将应用程序的不同功能或业务逻辑划分为单独的模块,每个模块都有...
这些操作都由Nginx直接与FastDFS交互,降低了服务器间的通信成本。 此外,fastdfs-nginx-module还支持防盗链、文件访问权限控制等功能,确保文件的安全性。例如,可以设置只允许特定IP或域名访问,或者根据用户身份...
总结来说,cpp-Libmodule是一个针对Linux平台的C库,它简化了C项目中的模块化开发流程,提供了一系列工具和接口,使得开发者可以更专注于功能实现,而不是底层的模块管理和通信细节。通过掌握Libmodule,C程序员可以...
1. **模块配置**:PC Module的配置包括了物理接口、通信协议、波特率等参数设定,这些设定直接影响到PC与PLC之间的数据传输效率和稳定性。 2. **通信协议**:AB PLC通常使用DH+(Distributed Hub)或Ethernet/IP...
HTML与Android交互是移动开发中常见的一种技术,主要用于在原生Android应用中嵌入Web页面并实现两者之间的数据通信。这种交互方式可以让开发者利用Web技术快速构建应用界面,同时利用Android原生功能提供更丰富的...
在标签中,"驱动程序"直接指出了这个压缩包的主要内容——它是计算机硬件与操作系统之间交互的关键软件。 在压缩包内的文件名称列表中: 1. "DriverUninstall64.exe" 和 "DriverUninstall32.exe" 是卸载工具,分别...
在电子工程领域,总线模块是系统中至关重要的部分,它允许不同组件之间进行通信。总线可以是硬件形式,如计算机主板上的PCIe或USB接口,也可以是软件中的消息传递机制,如在分布式系统中的消息队列。总线模块的设计...