我正在开发AIR应用程序。在主应用程序中,我有一个模块加载器'mainModuleLoader'。我正在使用<mx:Module>
标记将模块创建为单独的mxml文件。我使用actionscript动态地在mainModuleLoader中加载这样一个模块。一切正常。在flex中卸载模块事件处理
对于我创建为mxml文件的模块,我想知道如何添加卸载事件处理程序。因此,无论何时调用mainModuleLoader.unload(),都会从module.mxml中触发卸载事件处理程序。我尝试了以下方法,但没有取得任何成功
<mx:Module creatingComplete="init()" unload="unloadHandler()"/>
<mx:Module creatingComplete="init()" remove="unloadHandler()"/>
上面第二条语句的问题是,即使在模块内部删除了某个子项,它也会触发unloadHandler。我还尝试在动作脚本中添加以下内容。
private function init()
{
this.addEventListener(ModuleEvent.UNLOAD, unloadHandler);
}
但是,它不会触发卸载模块。请让我知道我是否在某处出错或者是否有其他方法来附加事件处理程序。 谢谢!
谢谢Gregor!这解决了我的问题。 :)在删除处理程序我只是使用if(!(evt.target是myModule))返回; – Goje87 2010-10-22 10:39:27