Flash Builder 4.5中的局部变量

时间:2011-11-20 07:22:33

标签: flex flash-builder flash-builder4.5

我在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>

2 个答案:

答案 0 :(得分:0)

试试这个:
在第一个脚本中声明MyTotal
在组件脚本中,只需尝试使用outerDocument.MyTotal访问

答案 1 :(得分:0)

找到解决方案,我必须在声明之前添加[Bindable]。