0
的Flex 4.6移动应用访问 - 的Flex 4.6
我收到错误 “访问未定义的属性PrepForDisplay”
在我的声明标签我有
<s:CurrencyFormatter id="PrepForDisplay"
currencySymbol=""
useCurrencySymbol="true"
negativeCurrencyFormat="0"
positiveCurrencyFormat="0"/>
在我的MXML我有
<s:List id="lst" dataProvider="{dp}" useVirtualLayout="true" width="100%" height="95%" top="30" alternatingItemColors="[#66FFFF, #33CCCC]">
<s:itemRenderer>
<fx:Component>
<s:ItemRenderer>
<s:HGroup gap="10">
<s:Label text="{data.Period}" />
**<s:Label text="{PrepForDisplay.format(data.Payment)}" />**
</s:HGroup>
</s:ItemRenderer>
</fx:Component>
粗线上发生错误。 如果我将它更改为Number(data.Payment).toFixed(2),一切正常。 我已经使用currencyFormatter的方式,我成功地在其他视图上使用它。我甚至可以在一个函数中的这个视图上使用它,但是当我尝试将它应用到标签中时,我会看到错误。
任何想法?
欢呼声,
谢谢sydd,工作完美。我不知道为什么,但它确实如此。我对Flex非常陌生,而且我很难遵循Adobe文档。我再次感谢您的快速回复。 – user1332657 2012-04-14 01:54:58
它工作的原因是,当你指定一个像这样的项目渲染器(将它包装在一个''标记中,也称为内联项渲染器)时,你实际上创建了一个不属于父类。所以通过在项目渲染器中移动声明,您可以使渲染器可以访问货币格式化程序。请注意,在进行更改之后发生了什么显着差异:原来您只有1个CurrencyFormatter对象,现在每个项目渲染器都有1个格式化程序:) –
2012-04-14 05:25:03