我在View中有两个脚本,一个脚本在Component中。 在组件脚本中,我需要在数据添加到列表时添加数据,然后在视图中放置的标签中显示总数。 如果我在第一个脚本中声明变量,则组件脚本无法看到它,如果我在组件脚本中声明它,则标签无法看到它。 我如何声明它以便视图中的每个人都可以看到它? 谢谢, 金
以下是代码,问题是我应该在哪里放置var MyTotal,以便可以在视图中的任何位置使用它:
<s:view
<fx:Script>
<![CDATA[
//if I place it here the next CDATA inside IconItemRender can't see it.
private static var MyTotal:Number=0;
]]>
</fx:Script>
<fx:Declarations>
<s:CurrencyFormatter id="usdFormatter" useCurrencySymbol="true"/>
</fx:Declarations>
<s:itemRenderer>
<fx:Component>
<s:IconItemRender ..............>
<fx:Script>
<![CDATA[
//if I place it here the Label "TotalAmountLb" can't see it.
// and it get reset to 0 everytime I call the function getInvoiceAmount.
private static var MyTotal:Number=0;
private function getInvoiceAmount(item:Object):String
{
MyTotal = MyTotal + Number(item.Amount);
}
]]>
</fx:Script>
</s:IconItemRenderer>
</fx:Component>
</s:itemRenderer>
</s:List>
<s:Label id="TotalAmountLb" text="{usdFormatter.format(MyTotal)}"/>
</s:view>
答案 0 :(得分:0)
试试这个:
在第一个脚本中声明MyTotal
。
在组件脚本中,只需尝试使用outerDocument.MyTotal
访问
答案 1 :(得分:0)
找到解决方案,我必须在声明之前添加[Bindable]。