`

Flex ModuleLoader向Module(模块)传递参数实例

    博客分类:
  • Flex
阅读更多

参考: http://www.myflexhero.com/share/flex-hero-flex4/flex-hero-components/flex-module/278  

 

开发中我们一般会用到Module,有时候我们在调用该Module后需要向其传递参数。传递参数的方式很多,比如使用事件的方式。

            这里我使用ModuleLoader提供的特征进行传递参数使用示例。代码写的还算简单,我相信你能看明白。

关于在模块中获取url中的参数,请参见Flex loaderInfo swf模块获取url传递的参数一文。

(你可以点击这里(Click here to see the effect in new window)新开窗口查看效果,点击这里(View Source)查看源码):

[点击按钮后请稍候片刻,经测试需要一定时间下载该模块,且界面没有提示(因为我没有添加加载提示,加载提示效果请查看Flex ModuleLoader和ModuleManager的区别、ModuleManager加载模块实例一文)。]

 

 

 主文件源码
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
viewSourceURL="srcview/index.html">
<fx:Script>
<![CDATA[
import com.myflexhero.MyFlexHeroTest;

import mx.events.ModuleEvent;
import mx.modules.ModuleLoader;

protected function clickEvent(event:Event):void
{
var general:ModuleLoader = new ModuleLoader();
general.url="com/myflexhero/MyFlexHeroTest.swf";
general.addEventListener(ModuleEvent.READY,readyModule);
addElement(general);
}

private function readyModule(event:ModuleEvent):void{
var ml:ModuleLoader=event.target as ModuleLoader;
//这里的MyFlexHeroTest则是MyFlexHeroTest.swf对应的mxml类
//如果你选择下载源码,我测试时写的是Share.swf。
var ichild:MyFlexHeroTest = ml.child as MyFlexHeroTest;
if(ichild){
ichild.loginName = "MyFlexHero,Welcome!";
}
}

]]>
</fx:Script>
<s:Button label="点击传入" click="clickEvent(event)"/>


</s:Application>

 

 

副文件 MyFlexHeroTest源码

 

<?xml version="1.0" encoding="utf-8"?>
<mx:Module xmlns:fx="http://ns.adobe.com/mxml/2009" 
		   xmlns:s="library://ns.adobe.com/flex/spark" 
		   xmlns:mx="library://ns.adobe.com/flex/mx" layout="absolute" width="400" height="300" creationComplete="module1_creationCompleteHandler(event)">
	<fx:Declarations>
		<!-- 将非可视元素(例如服务、值对象)放在此处 -->
	</fx:Declarations>
	<fx:Script>
		<![CDATA[
			import mx.controls.Alert;
			import mx.events.FlexEvent;
			public var loginName:String;
 
 
			protected function module1_creationCompleteHandler(event:FlexEvent):void
			{
				Alert.show("传入的参数:"+loginName);
			}
 
		]]>
	</fx:Script>
</mx:Module>
 

 

分享到:
评论

相关推荐

    flex中moduleLoader加载module时传递参数源代码

    总结来说,Flex的`ModuleLoader`是动态加载模块的强大工具,而通过`ModuleInfo`传递参数则使模块间的数据交互变得更加灵活。理解这一机制对于创建可扩展、可维护的Flex应用至关重要。在实际开发中,合理利用这些特性...

    Flex 基于Module模块的开发资料完整版

    Flex 基于 Module 模块的开发是一种有效的软件架构策略,它允许将大型应用程序分解为更小、更易于管理的单元,称为模块。模块化的主要目标是提高代码的可维护性、可扩展性和性能。 1. **模块化的定义与原理** - **...

    Adobe Flex Builder 3组件之间的传递参数

    此外,组件可以触发和监听事件,如`click`事件,通过事件对象传递参数。 2. **值对象**:在更复杂的场景中,你可能需要传递复杂的数据结构。这时,可以创建一个自定义的值对象类,包含所需的所有属性,然后在组件间...

    Flex Module间通信

    首先,了解Flex模块(Module)。在Flex中,一个模块是一个可以独立编译和加载的SWF文件,它可以在运行时动态插入到主应用程序中。模块化设计使开发者能够将应用拆分为更小、更专注的功能单元,每个单元都可以单独...

    Flex模块化开发实例

    使用Flex Builder或Adobe Animate CC等工具,可以通过创建新的Module项目来生成模块。在模块项目中,我们可以编写组件、服务和业务逻辑代码。 4. **模块加载**: Flex提供了`mx.modules.ModuleLoader`组件,用于...

    Adobe官方Flex3 Module模块设计经典资料(附源代码)

    在Flex3的Module模块程序设计中,在Google中进行了大量的资料查找,综合比较各个资源后,将我认为最有价值的资料放在这里(全英文的)。 下载包中包括: 1、Adobe Creating Mudule Application.pdf 2、相似例子的源...

    Flex+Java、PHP 批量上传实例文档

    Flex+Java、PHP 批量上传实例文档Flex+Java、PHP 批量上传实例文档Flex+Java、PHP 批量上传实例文档Flex+Java、PHP 批量上传实例文档Flex+Java、PHP 批量上传实例文档Flex+Java、PHP 批量上传实例文档Flex+Java、...

    flex module实例

    Flex模块(Flex Module)是Adobe Flex框架中的一个重要概念,它允许开发者将大型应用程序分解为多个独立的、可重用的组件,这些组件被称为模块。在Flex应用中,模块可以按需加载,从而优化应用程序的启动时间和内存...

    Flex HTTPService如何给后台传递参数 .doc

    当我们需要向后台传递参数时,有多种方法可以实现,这里主要介绍两种常见的方法。 ### 方法1:使用URLVariables对象 URLVariables类是Flex中用于将变量序列化为URL查询字符串的工具。这种方法适用于GET和POST请求...

    flex获得html容器传递的url参数值

    在Flex编程中,有时我们需要从外部HTML容器向SWF文件传递参数,这在构建富互联网应用程序(RIA)时尤其常见。这些参数通常是以URL查询字符串的形式出现,例如`test.html?name=jex&address=chengdu`。在本文中,我们...

    Flex与Java通过实体传递数据

    ### Flex与Java通过实体传递数据 #### 背景介绍 在现代Web应用开发中,前端与后端之间的数据交互是必不可少的一部分。Flex作为一种流行的富客户端技术,常用于构建复杂的用户界面;而Java则因其强大的服务器端处理...

    flex blazeds 传递对象实例

    在提供的文件列表中,“flexuser”可能是一个示例项目或用户模块,它可能包含了与Flex BlazDS集成的实例代码,或者是用来演示对象传递功能的测试应用。通过研究这个项目,我们可以进一步了解实际应用中的对象实例...

    Flex中Module间的通讯和在Application中的切换

    1. **事件监听**:模块可以通过发布自定义事件或使用内置事件(如FlexEvent.MODULE_LOAD)来传递信息。主应用程序或其他模块可以通过添加事件监听器来接收这些事件并处理。 2. **接口**:模块可以实现一个或多个...

    BlazeDS集成Flex+Tomcat开发J2EE模块整合实例

    ### BlazeDS集成Flex+Tomcat开发J2EE模块整合实例详解 #### 一、基础知识与概念 **BlazeDS**是Adobe提供的一款用于在Flex客户端和J2EE服务器之间进行实时数据交换的开源服务器端产品。它允许Flex应用程序通过AMF...

    flex一个动态添加卸载Module的例子

    模块(Module)是Flex应用程序的一个重要组成部分,它允许我们将大项目分解为更小、更易于管理的部分。动态加载和卸载Module是优化应用程序性能和减少初始化时间的有效方法,特别是在需要根据用户需求按需加载功能的...

    flex+hibernate 实例

    在这个"Flex+Hibernate实例"中,ADC(ActionScript Data Services)可能被用来在Flex客户端和Hibernate驱动的服务器端之间传输数据。ADC提供了一种方式,使得Flex应用能够透明地访问由Hibernate管理的后端数据源。这...

    flex官方经典实例

    在这个名为"flex官方经典实例"的压缩包中,我们可以找到两个文件:readMe.txt和CairngormStore,它们分别代表了Flex开发中的不同方面。 readMe.txt通常是一个包含项目介绍、使用指南或作者信息的文本文件。在Flex...

    Flex之模块化

    Flex模块化主要通过Flex Module Framework(模块框架)实现,这是一个内置于Flex SDK中的组件,支持在运行时动态加载和卸载模块。这种动态加载能力使得Flex应用程序能够根据用户需求或网络状况来决定加载哪些模块,...

Global site tag (gtag.js) - Google Analytics