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

本文介绍如何在Flex开发中使用ModuleLoader组件传递参数,包括主文件源码和副文件MyFlexHeroTest源码的详细说明。

文章转自:http://windshg.iteye.com/blog/986523

参考: 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源码

 

Java代码   收藏代码
    1. <?xml version="1.0" encoding="utf-8"?>  
    2. <mx:Module xmlns:fx="http://ns.adobe.com/mxml/2009"   
    3.            xmlns:s="library://ns.adobe.com/flex/spark"   
    4.            xmlns:mx="library://ns.adobe.com/flex/mx" layout="absolute" width="400" height="300" creationComplete="module1_creationCompleteHandler(event)">  
    5.     <fx:Declarations>  
    6.         <!-- 将非可视元素(例如服务、值对象)放在此处 -->  
    7.     </fx:Declarations>  
    8.     <fx:Script>  
    9.         <![CDATA[  
    10.             import mx.controls.Alert;  
    11.             import mx.events.FlexEvent;  
    12.             public var loginName:String;  
    13.    
    14.    
    15.             protected function module1_creationCompleteHandler(event:FlexEvent):void  
    16.             {  
    17.                 Alert.show("传入的参数:"+loginName);  
    18.             }  
    19.    
    20.         ]]>  
    21.     </fx:Script>  
    22. </mx:Module>  

转载于:https://www.cnblogs.com/mikevictor07/archive/2012/09/29/2708377.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值