1、Application.application为空。用Halo的mx:Application作为应用程序的根,不要用Spark的s:Application。
2、Flex中得不到注入的变量。相信大家按文档来,配置应该都没啥问题。要注意一个关键点,Flex视图组件的注入是事件激发的,是异步的,因此在creationComplete事件中,不一定能得到注入的变量,这个时候还没有注入进来。正确的做法是使用[PostConstruct]标注相应方法,这样,注入完毕后,会调用该方法。
3、Flex Module注入失败。这个问题我跟踪了两天,很郁闷,最后发现是describeType在主程序里能得到metadata,在Module中得不到metadata。最后在网上找到解决方案,http://www.spicefactory.org/forum/viewtopic.php?p=633&highlight=&sid=cbded52d5a110289f2d095930ee89520,就是文档中提到的-keep-as3-metadata。主程序编译出来的,含有相应的metadata,Module的没有,在编译选项中添加-keep-as3-metadata,就能使Module也有。
4、文档中的配置样例,基本上以xml配置为主,特别是localization和log,在FlexConfig中,应该如何,文档中没写。看了下源码,应该如下写:
<res:ResourceManagerTag id="resourceManager">
<res:locales>
<res:LocaleTag language="en" country="US"/>
<res:LocaleTag language="zh" country="CN"/>
</res:locales>
</res:ResourceManagerTag>
<res:ResourceBundleTag id="login_ui" basename="messages/login_ui" localized="true" ignoreCountry="true"/>
<logging:LogTargetTag level="{LogEventLevel.ALL}">
<logging:filters>org.spicefactory.*</logging:filters>
</logging:LogTargetTag>
注意在xmlns中导入相应包名。