mx.modulesModuleManager ModuleManager 类会集中管理动态加载模块。Object ModuleManager 类会集中管理动态加载模块。并会维持 URL 到模块的映射。模块可以处于已加载(并且可使用)状态,也可以处于尚未加载状态。ModuleManager 会分派显示模块状态的事件。客户可以注册事件处理函数,然后调用 load() 方法,该方法可在 factory 就绪时(或者,在已加载时可立即)分派事件。 getAssociatedFactory 查看引用的对象是否与已知 IFlexModuleFactory 实现关联(或者在该实现的受管 ApplicationDomain 中)。会返回 IFlexModuleFactory 实现,或者如果无法从 factory 创建对象类型,则会返回 nullmx.core:IFlexModuleFactoryobjectModuleManager 尝试创建的对象。 查看引用的对象是否与已知 IFlexModuleFactory 实现关联(或者在该实现的受管 ApplicationDomain 中)。 getModule 获取与特定 URL 关联的 IModuleInfo 接口。与特定 URL 关联的 IModuleInfo 接口。 mx.modules:IModuleInfourl表示模块位置的 URL。 获取与特定 URL 关联的 IModuleInfo 接口。没有成功加载此 URL 的要求,但是 ModuleManager 针对每个唯一的 URL 返回了一个唯一的 IModuleInfo 句柄。 IModule 将类标记为模块的接口。 将类标记为模块的接口。 mx.modules.ModuleModuleBase 基于 ActionScript 的动态加载模块的基类。mx.modules:IModuleflash.events:EventDispatcher 基于 ActionScript 的动态加载模块的基类。如果您编写仅 ActionScript 模块,则应该扩展此类。如果您使用 MXML 文件中的 <mx:Module> 标签编写基于 MXML 的模块,就应该扩展 Module 类。 mx.modules.ModuleIModuleInfo 作为特殊模块句柄的接口。flash.events:IEventDispatcher 作为特殊模块句柄的接口。在此接口中,可以查询模块状态、获得模块内部 factory 以及加载或卸载模块。 unload 卸载模块数据时由支持 ModuleInfo 分派。mx.events.ModuleEvent.UNLOADmx.events.ModuleEvent 卸载模块数据时由支持 ModuleInfo 分派。 setup 充分加载该模块以调用 IModuleInfo.factory() 方法和 IFlexModuleFactory.info() 方法时,由支持 ModuleInfo 分派。mx.events.ModuleEvent.SETUPmx.events.ModuleEvent 充分加载该模块以调用 IModuleInfo.factory() 方法和 IFlexModuleFactory.info() 方法时,由支持 ModuleInfo 分派。 ready 充分加载该模块以调用 IModuleInfo.factory() 方法和 IFlexModuleFactory.create() 方法时,由支持 ModuleInfo 分派。mx.events.ModuleEvent.READYmx.events.ModuleEvent 充分加载该模块调用 IModuleInfo.factory() 方法和 IFlexModuleFactory.create() 方法时,由支持 ModuleInfo 分派。 progress 加载模块时由支持 ModuleInfo 以固定间隔分派。mx.events.ModuleEvent.PROGRESSmx.events.ModuleEvent 加载模块时由支持 ModuleInfo 以固定间隔分派。 error 加载模块期间发生错误时,由支持 ModuleInfo 分派。mx.events.ModuleEvent.ERRORmx.events.ModuleEvent 加载模块期间发生错误时,由支持 ModuleInfo 分派。 load 请求加载该模块。applicationDomainnull正在其中执行代码的当前应用程序域。 securityDomainnull当前安全性“沙箱”。 bytesnull一个 ByteArray 对象。ByteArray 应该包含代表已编译 Module 的 SWF 文件的字节数。可以使用 URLLoader 类获得 ByteArray 对象。如果指定了此参数,则将从 ByteArray 加载模块。如果此参数为 null,则将从 url 属性中指定的 url 加载模块。 moduleFactorymx.core:IFlexModuleFactorynull调用者的 moduleFactory。moduleFactory 的一个用途是确定已加载模块的父样式管理器。 请求加载该模块。如果已加载该模块,则调用不起任何作用。否则,会开始加载模块,并在加载过程中分派 progress 事件。 publish 将接口发布到 ModuleManager。factorymx.core:IFlexModuleFactory实现模块的 IFlexModuleFactory 接口的类。 将接口发布到 ModuleManager。这允许具有 String 句柄的 factory 中存在延迟(或去耦)subscriptions。使用以 publish:// 开始的 URL 来引用以此方式发布的 factory。 mx.modules.ModuleManagerrelease 将当前的引用释放到模块中。 将当前的引用释放到模块中。这样不会卸载该模块,除非该模块没有其它打开的引用,并且 ModuleManager 设置为仅包括限制数目的加载模块。 mx.modules.ModuleManagerunload 卸载模块。 卸载模块。如果模块中存在未完成的定义引用,则 Flash Player 和 AIR 都不会完全卸载此模块,而是将其作为垃圾回收。 data 与给定 URL 的 singleton IModuleInfo 关联的用户数据。 与给定 URL 的 singleton IModuleInfo 关联的用户数据。 error 如果加载模块期间发生错误,则标志显示为 true。 如果加载模块期间发生错误,则标志显示为 true

ModuleManager 分派 ModuleEvent.ERROR 事件时此标志为 true

factory 模块中定义的 IFlexModuleFactory 实现。mx.core:IFlexModuleFactory 模块中定义的 IFlexModuleFactory 实现。只有在调用 ModuleEvent.SETUP 事件(或 IModuleInfo.setup() 方法返回 true)后,它才会显示为非 null。此时可以调用 IFlexModuleFactory.info() 方法。一旦分派 ModuleEvent.READY 事件(或 IModuleInfo.ready() 方法返回 true),就可以调用 IFlexModuleFactory.create() 方法。 loaded 如果已对此模块调用 load() 方法,则标志显示为 true。 如果已针对该模块调用 load() 方法,则标志显示为 trueready 如果可以充分加载模块以获得其关联 IFlexModuleFactory 实现的句柄以及调用其 create() 方法,则标志显示为 true。 如果可以充分加载模块以获得其关联 IFlexModuleFactory 实现的句柄以及调用其 create() 方法,则标志显示为 true

ModuleManager 分派 ModuleEvent.READY 事件时,此标志为 true

setup 如果可以充分加载模块以获得其关联 IFlexModuleFactory 实现的句柄以及调用其 info() 方法,则标志显示为 true。 如果可以充分加载模块以获得其关联 IFlexModuleFactory 实现的句柄以及调用其 info() 方法,则标志显示为 true

ModuleManager 分派 ModuleEvent.SETUP 事件时,此标志为 true

url 与此模块关联的 URL(如“MyImageModule.swf”或“http://somedomain.com/modules/MyImageModule.swf”)。 与此模块关联的 URL(如“MyImageModule.swf”或“http://somedomain.com/modules/MyImageModule.swf”)。URL 可以是本地的也可以是远程的,但如果是远程的,则必须在模块域和加载它的应用程序之间建立信任关系。