private function readyModule(event:ModuleEvent):void
{
var a:EditorPanelModule= moduleLoader.child as EditorPanelModule ;
a.setLoader(moduleLoader);
}
private function displayModule(moduleURL:String):void
{
if( moduleLoader.url != moduleURL )
moduleLoader.url = moduleURL;
moduleLoader.addEventListener(ModuleEvent.READY,readyModule);
}
调用模块的时候想给模块传值,只要var a:EditorPanelModule= moduleLoader.child as EditorPanelModule ;那句,就会报错,仅仅是获取模块就出错。
百思不得其解,谷歌之后发现同样的问题http://stackoverflow.com/questions/9196118/flex-robotlegs-module-throws-null-pointer-exception-error-1009
据说是用一个interface就可以解决,想想实在是麻烦,突然发现改成下面这样就没事了。
private function readyModule(event:ModuleEvent):void
{
var a= moduleLoader.child ;
a.setLoader(moduleLoader);
}
这个就应该是flex中的反射吧,搞不懂为啥这样就没事,不过反正是好了。