首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 媒体动画 > flex >

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

2012-10-08 
Flex ModuleLoader向Module(模块)传递参数实例参考:?http://www.myflexhero.com/share/flex-hero-flex4/fl

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

参考:?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加载模块实例一文)。]

?

?

<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>
?

?

热点排行