2011-07-27 58 views
-4

任何人都可以举例说明如何加载模块?例如,如果我在Modules.user包中有模块Login.mxml,如何加载它?我想要mxml和actionscript方法。flex 4加载模块

+4

你有没有尝试过任何东西? – cwallenpoole

+0

我抬头看着互联网,但我没有找到任何东西。我发现信息如何加载SWF文件作为模块,但不是mxml文件 – Volter

回答

6

你看过loading and unloading Modules上的文档吗?

引述一些代码,这是你如何加载在MXML:

<?xml version="1.0"?> 
<!-- modules/MySimplestModuleLoader.mxml --> 
<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"> 

    <s:ModuleLoader url="ColumnChartModule.swf"/> 

</s:Application> 

[结束DOC报价这里]

在ActionScript中,你会创建使ModuleLoader类的一个实例并将其作为孩子添加到父容器中,概念上如下所示:

var myLoader : ModuleLoader = new ModuleLoader(); 
myLoader.url = "ColumnChartModule.swf"; 
this.addChild(myLoader); 
+0

好吧,但我有模块Login.mxml不login.swf。 – Volter

+0

@Volter没有看到你的代码;很难给出具体的答案。当你说“模块”时,你是否一般用这个术语来表示组件?或者你真的扩展了Module类吗? http://help.adobe.com/zh_CN/FlashPlatform/reference/actionscript/3/mx/modules/Module.html。如果是这样,你必须将你的模块编译为SWF,然后才能将它作为模块使用。 – JeffryHouser

+0

我已将mxml模块编译为swf,但代码无效。进口spark.modules.ModuleLoader \t \t \t \t \t \t私有功能测试():无效{ \t \t \t \t VAR myLoader:ModuleLoader组件=新ModuleLoader组件(); \t \t \t \t myLoader.url =“Modules \ User \ Login.swf”; \t \t \t \t this.addChild(myLoader); \t \t \t} – Volter