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的帮助文档。
分享到:
相关推荐
我们用React Native 做混合开发的时候免不了要原生和React Native 进行通信交互,这篇文章就是分享原生模块与JS传递数据的几种方式。 总的步骤可以分为如下几点: 在原生端定义Module类,继承...
我们知道 ,通过Qt Declarative module ,C++可以动态创建和操纵QML的组件(cpmponents) ,我们利用这些API使用C++来拓展我们的QML程序,反过来也可以将QML嵌入到你的C++程序中。通过Qt的元对象系统( Qt‘s meta...
轻量级移动机器人ROS人机交互软件 本项目基于Qt5开发,基于Module Cmake进行构建,可以实现一套代码同时兼容ROS1/ROS2 软件在编译时会自动识别环境变量中的ROS1/ROS2环境并进行构建,实现ROS通信与界面隔离 软件...
这里需要在 base 的 module 去添加依赖 modulebus ,然后其他需要交互的模块依赖于 base。例子里面会有简单的演示,只要下载之后就能看到源码和调用了。我也会封装越来越好用得功能到里面。 标签:ModuleBus
RabbitMQ 消息队列 PY threading Queue ...安装 Python module pip install pika or easy_install pika or 源码 rabbit 默认端口15672 查看当前时刻的队列数 rabbitmqctl.bat list_queue exchang
上层通过路由层查找组件/模块,通过组件/模块暴露的服务实现通信交互 本例中的组件化/模块化: 路由采用ARouter实现 XModulable SDK负责组件/模块的注册和查找,这里的模块可视为组件/模块服务的容器: @XModule...
TangoFX会话轻巧,安全,即插即用的平台,用于点对点Internet通话CaaS(以通信为平台) 高度可定制的平台建立在开源Chrome开发人员工具,WebRTC,sipML5,socketio,nodejs上巨大的互动工具用于开发插件小部件的SDK...
3.3 MXML Module模块应用 16 3.4 表单 16 3.5 对话框 17 3.6 列表 18 3.7弹出菜单 19 3.8复杂用户交互应用结构 21 3.8.1 Tree高级应用 21 3.8.2 DataGrid 22 3.9导航容器,导航菜单 22 4.Flex美化应用 24 4.1使用组件...
灰烬-苏格拉底 与Socrata开放数据服务进行交互的适配器和序列化器。 目前,Ember-Socrata仅处理的Consumer API,即。 检索数据。安装Ember-Socrata依赖与Socrata数据存储库进行通信,还依赖Ember-Browserify使Soda-...
ConfluencePS通过基本身份验证与Atlassian积极支持的进行通信。 REST实现是通过API与它们的云托管实例进行交互的唯一方法,并且最终将是与服务器安装进行交互的唯一方法。 加入对话 指示 安装 从安装ConfluencePS...
系统由扫频信号产生及调理模块、帯阻网络模块、幅频特性测试模块、数字幅频均衡模块以及人机交互模块组成。扫频信号由DSP内部PWM模块产生经外部有源低通滤波器进入带阻网络。应用数字信号处理技术在 DSP内部实现幅频...
基于 Android 组件架构 1.0 的 Android 应用 <今天> This is a sample app that uses Android Architecture Components with Dagger 2. 此 App 主要用于 Android 组件... 负责显示 UI 数据,处理交互、操作系统通信
该模块为与CUL / COC / SCC / CUNO / CUNO2的串行端口或telnet通信以及轻量级的解析和命令包装程序提供了一个精简的抽象。 它旨在用于不同的基于Node.js的家庭自动化软件中。 学分 基于culfw和fhem的作者Rudolf ...
结合时间参数进行匹配处理,通过ZMQ为核心的通信模式实现数据交互.AboutUnrecognized circumstances exist in traditional Bluetooth models from different manufacturers, and NFC module in the current handset ...
3.3 Flex Module 101 3.3.1 创建模块 102 3.3.2 模块的编辑与编译 104 3.3.3 模块文件的加载 104 3.3.4 主应用和模块的交互 107 3.4 Flex库文件SWC 107 3.5 Flex编译模式、链接模式与RSL 109 3.5.1 使用系统...
<<page 1>> page begin==================== 目 目目 目 录 录录 录 第一部分 C#语言概述.4 第一章 第一章第一章 第一章 .NET 编 编 ... 比尔....这一天 微软公司正式推出了其下一代...
app.tsx将所有内容粘合在一起-它与其他组件进行排列和通信,以便向用户展示界面并允许他们与应用程序进行交互。 I.WEB PACK配置(webpack.config.js) 里面有很多东西,所以让我们看一下:-进入键告诉Webpack开始...
题目名称:智能电风扇的设计 摘要: 本设计以MSP430F149单片机为核心控制模块,采用HS0038光电传感器和DS18B20温度传感 器来测量电风扇的转速和检测时刻环境温度,通过主从单片机之间的串行通信来完成电 风扇转速...
启用和与webpack 交互的客户端。 它旨在与协同工作,并允许在不依赖情况下向现有服务器添加热模块替换。 这对于在已经使用Express或Koa等服务器框架的项目中进行测试非常方便。 webpack-hot-client通过创建...