mx.modules
接口public interface IModuleInfo extends IEventDispatcher

作为特殊模块句柄的接口。在此接口中,可以查询模块状态、获得模块内部 factory 以及加载或卸载模块。



公共属性
 属性定义方
  data : Object
与给定 URL 的 singleton IModuleInfo 关联的用户数据。
IModuleInfo
  error : Boolean
[只读 (read-only)] 如果加载模块期间发生错误,则标志显示为 true。
IModuleInfo
  factory : IFlexModuleFactory
[只读 (read-only)] 模块中定义的 IFlexModuleFactory 实现。
IModuleInfo
  loaded : Boolean
[只读 (read-only)] 如果已对此模块调用 load() 方法,则标志显示为 true。
IModuleInfo
  ready : Boolean
[只读 (read-only)] 如果可以充分加载模块以获得其关联 IFlexModuleFactory 实现的句柄以及调用其 create() 方法,则标志显示为 true。
IModuleInfo
  setup : Boolean
[只读 (read-only)] 如果可以充分加载模块以获得其关联 IFlexModuleFactory 实现的句柄以及调用其 info() 方法,则标志显示为 true。
IModuleInfo
  url : String
[只读 (read-only)] 与此模块关联的 URL(如“MyImageModule.swf”或“http://somedomain.com/modules/MyImageModule.swf”)。
IModuleInfo
公共方法
 方法定义方
 Inherited
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
使用 EventDispatcher 对象注册事件侦听器对象,以使侦听器能够接收事件通知。
IEventDispatcher
 Inherited
将事件调度到事件流中。
IEventDispatcher
 Inherited
检查 EventDispatcher 对象是否为特定事件类型注册了任何侦听器。
IEventDispatcher
  
load(applicationDomain:ApplicationDomain = null, securityDomain:SecurityDomain = null, bytes:ByteArray = null):void
请求加载该模块。
IModuleInfo
  
将接口发布到 ModuleManager。
IModuleInfo
  
将当前的引用释放到模块中。
IModuleInfo
 Inherited
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
从 EventDispatcher 对象中删除侦听器。
IEventDispatcher
  
卸载模块。
IModuleInfo
 Inherited
检查是否用此 EventDispatcher 对象或其任何始祖为指定事件类型注册了事件侦听器。
IEventDispatcher
事件
 事件 摘要 定义方
  加载模块期间发生错误时,由支持 ModuleInfo 调度。IModuleInfo
  加载模块时由支持 ModuleInfo 以固定间隔调度。IModuleInfo
  充分加载该模块以调用 IModuleInfo.factory() 方法和 IFlexModuleFactory.create() 方法时,由支持 ModuleInfo 调度。IModuleInfo
  充分加载该模块以调用 IModuleInfo.factory() 方法和 IFlexModuleFactory.info() 方法时,由支持 ModuleInfo 调度。IModuleInfo
  卸载模块数据时由支持 ModuleInfo 调度。IModuleInfo
属性详细信息
data属性
data:Object  [读写]

与给定 URL 的 singleton IModuleInfo 关联的用户数据。



实现
    public function get data():Object
    public function set data(value:Object):void
error属性 
error:Boolean  [只读 (read-only)]

如果加载模块期间发生错误,则标志显示为 true

ModuleManager 调度 ModuleEvent.ERROR 事件时此标志为 true



实现
    public function get error():Boolean
factory属性 
factory:IFlexModuleFactory  [只读 (read-only)]

模块中定义的 IFlexModuleFactory 实现。只有在调用 ModuleEvent.SETUP 事件(或 IModuleInfo.setup() 方法返回 true)后,它才会显示为非 null。此时可以调用 IFlexModuleFactory.info() 方法。一旦调度 ModuleEvent.READY 事件(或 IModuleInfo.ready() 方法返回 true),就可以调用 IFlexModuleFactory.create() 方法。



实现
    public function get factory():IFlexModuleFactory
loaded属性 
loaded:Boolean  [只读 (read-only)]

如果已针对该模块调用 load() 方法,则标志显示为 true



实现
    public function get loaded():Boolean
ready属性 
ready:Boolean  [只读 (read-only)]

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

ModuleManager 调度 ModuleEvent.READY 事件时,此标志为 true



实现
    public function get ready():Boolean
setup属性 
setup:Boolean  [只读 (read-only)]

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

ModuleManager 调度 ModuleEvent.SETUP 事件时,此标志为 true



实现
    public function get setup():Boolean
url属性 
url:String  [只读 (read-only)]

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



实现
    public function get url():String
方法详细信息
load()方法
public function load(applicationDomain:ApplicationDomain = null, securityDomain:SecurityDomain = null, bytes:ByteArray = null):void

请求加载该模块。如果已加载该模块,则调用不起任何作用。否则,会开始加载模块,并在加载过程中调度 progress 事件。

参数

applicationDomain:ApplicationDomain (default = null) — 正在其中执行代码的当前应用程序域。
 
securityDomain:SecurityDomain (default = null) — 当前安全性“沙箱”。
 
bytes:ByteArray (default = null) — 一个 ByteArray 对象。ByteArray 应该包含代表已编译 Module 的 SWF 文件的字节数。可以使用 URLLoader 类获得 ByteArray 对象。如果指定了此参数,则将从 ByteArray 加载模块。如果此参数为 null,则将从 url 属性中指定的 url 加载模块。

publish()方法 
public function publish(factory:IFlexModuleFactory):void

将接口发布到 ModuleManager。这允许具有 String 句柄的 factory 中存在延迟(或去耦)subscriptions。使用以 publish:// 开始的 URL 来引用以此方式发布的 factory。

参数

factory:IFlexModuleFactory — 实现模块的 IFlexModuleFactory 接口的类。

另请参见

release()方法 
public function release():void

将当前的引用释放到模块中。这样不会卸载该模块,除非该模块没有其他打开的引用,并且 ModuleManager 设置为仅包括限制数目的加载模块。

另请参见

unload()方法 
public function unload():void

卸载模块。如果模块中存在未完成的定义引用,则 Flash Player 和 AIR 都不会完全卸载此模块,而是将其作为垃圾回收。

事件详细信息
error 事件
事件对象类型: mx.events.ModuleEvent
属性 ModuleEvent.type = mx.events.ModuleEvent.ERROR

加载模块期间发生错误时,由支持 ModuleInfo 调度。

下载模块出错时调度。ModuleEvent.ERROR 常数可为 error 事件定义事件对象的 type 属性值。

事件对象的属性有下列值:

属性
bubbles false
bytesLoaded
bytesTotal
cancelable false
currentTarget 用于定义处理该事件的事件侦听器的 Object。例如,如果您使用 myButton.addEventListener() 注册某个事件侦听器,则 myButton 为 currentTarget 的值。
errorText 错误消息。
target 调度该事件的 Object;它不一定是侦听该事件的 Object。使用 currentTarget 属性始终可以访问侦听事件的 Object。
progress 事件  
事件对象类型: mx.events.ModuleEvent
属性 ModuleEvent.type = mx.events.ModuleEvent.PROGRESS

加载模块时由支持 ModuleInfo 以固定间隔调度。

下载模块的过程中调度。下载进程期间定期调度此模块。ModuleEvent.PROGRESS 常数可为 progress 事件定义事件对象的 type 属性值。

事件对象的属性有下列值:

属性
bubbles false
bytesLoaded 加载的字节数。
bytesTotal 要加载的字节总数。
cancelable false
currentTarget 用于定义处理该事件的事件侦听器的 Object。例如,如果您使用 myButton.addEventListener() 注册某个事件侦听器,则 myButton 为 currentTarget 的值。
errorText
target 调度该事件的 Object;它不一定是侦听该事件的 Object。使用 currentTarget 属性始终可以访问侦听事件的 Object。
ready 事件  
事件对象类型: mx.events.ModuleEvent
属性 ModuleEvent.type = mx.events.ModuleEvent.READY

充分加载该模块调用 IModuleInfo.factory() 方法和 IFlexModuleFactory.create() 方法时,由支持 ModuleInfo 调度。

模块完成下载时调度。ModuleEvent.READY 常数可为 complete 事件定义事件对象的 type 属性值。

事件对象的属性有下列值:

属性
bubbles false
bytesLoaded 加载的字节数。
bytesTotal 要加载的字节总数。
cancelable false
currentTarget 用于定义处理该事件的事件侦听器的 Object。例如,如果您使用 myButton.addEventListener() 注册某个事件侦听器,则 myButton 为 currentTarget 的值。
errorText
target 调度该事件的 Object;它不一定是侦听该事件的 Object。使用 currentTarget 属性始终可以访问侦听事件的 Object。
setup 事件  
事件对象类型: mx.events.ModuleEvent
属性 ModuleEvent.type = mx.events.ModuleEvent.SETUP

充分加载该模块以调用 IModuleInfo.factory() 方法和 IFlexModuleFactory.info() 方法时,由支持 ModuleInfo 调度。

已下载了足够的模块内容,您可以获得有关模块的信息时调度。您可以通过调用模块上的 IFlexModuleFactory.info() 方法来执行此操作。ModuleEvent.SETUP 常数可为 setup 事件定义事件对象的 type 属性值。

事件对象的属性有下列值:

属性
bubbles false
bytesLoaded
bytesTotal
cancelable false
currentTarget 用于定义处理该事件的事件侦听器的 Object。例如,如果您使用 myButton.addEventListener() 注册某个事件侦听器,则 myButton 为 currentTarget 的值。
errorText 错误消息。
target 调度该事件的 Object;它不一定是侦听该事件的 Object。使用 currentTarget 属性始终可以访问侦听事件的 Object。
unload 事件  
事件对象类型: mx.events.ModuleEvent
属性 ModuleEvent.type = mx.events.ModuleEvent.UNLOAD

卸载模块数据时由支持 ModuleInfo 调度。

卸载模块时调度。ModuleEvent.UNLOAD 常数可为 unload 事件定义事件对象的 type 属性值。

事件对象的属性有下列值:

属性
bubbles false
bytesLoaded
bytesTotal
cancelable false
currentTarget 用于定义处理该事件的事件侦听器的 Object。例如,如果您使用 myButton.addEventListener() 注册某个事件侦听器,则 myButton 为 currentTarget 的值。
errorText 错误消息。
target 调度该事件的 Object;它不一定是侦听该事件的 Object。使用 currentTarget 属性始终可以访问侦听事件的 Object。