Flex数据绑定函数(非getter)



我有一个flex应用程序,它依赖于一个类,它稍微抽象了flex的resourceManager。我使用的(纯AS3)类扩展了EventDispatcher,并处理本地化信息的运行时加载以及返回翻译后的令牌。我不能使用基础资源管理器,因为我不希望它返回null,如果没有找到令牌

/endexposition

我的问题来了,当我试图使我的getString函数可绑定

[Bindable(event="bundleLoaded")]
public function getString...

"bundlloaded"事件被适当地分派。此功能在我参与开发的90%的应用程序中正确工作。然而,对于一个应用程序,我得到以下混淆错误:

1084:语法错误:s. Resource=(ProjectName) Path=(null) Location=line 301

在我添加[Bindable…]之前,应用程序编译并运行(显然减去绑定)。]行,但在我添加该行后,它拒绝正确编译。在第301行,甚至没有任何应用程序或支持类的稍微有趣的内容。

提示吗?有人有类似的经历吗?

嗯,在搜索生成的代码后,我发现了一个问题(这将是向flex sdk报告的错误)。

我的代码将一个文本属性绑定到一个资源(用于本地化)。

该属性使用了一个三元操作。一旦我创建了这个绑定,生成的代码就从我的三进制操作中剥离了":"one_answers"?",并导致了一个错误。

    myResourceManager.getString('bundle','token',[numDays, numDays != 1 ? 's' : ''])

编译器把它变成了…

    new mx.binding.FunctionReturnWatcher("getString", target, 
        function():Array 
        { return [ "bundle", "token", [target.numDays, target.numDays != 1"s"""] ]; }

给我留下了一个漂亮的,模棱两可的编译错误。谢谢大家的关注!这个是固定的。

编辑:如果有人感兴趣:https://bugs.adobe.com/jira/browse/SDK-30937

最新更新