我在Flex中构建了一个模块,我称之为myModule,这个模块有一个方法myMethod。现在我使用ModuleManager加载该模块。
mod = ModuleManager.getModule("myModule.swf");
mod.addEventListener(ModuleEvent.READY, modEventHandler);
mod.load();
现在我想访问方法
(customComp as myModule).myMethod()
其中customComp是由模块信息的factore.create()方法创建的DisplayObject。此代码将无法编译,因为myModule不是已定义的属性。有人可以帮助我吗?我需要输入什么? myModule.swf不是资产,它位于我项目的bin目录中。
提前致谢
塞巴斯蒂安
答案 0 :(得分:3)
我不完全确定模块管理器的工作原理。但通常我使用模块加载器来显示我的模块。但是,我只看到了两种访问模块功能的方法。
您可以通过以下方式直接访问该功能:
mod.child.myMethod();
或者您需要为该模块创建一个接口。
var ichild:* = mod.child as IMyModule;
ichild.myMethod();
可以找到更多信息here
我认为直接访问模块就像第一个例子一样,但是我总是使用一个接口。
希望这有帮助。