2011-11-20 86 views
0

我在View中有兩個腳本,一個腳本在Component內部。 在組件腳本中,我需要在數據添加到列表中時添加數字,然後將總數顯示在放置在視圖中的標籤中。 如果我在第一個腳本中聲明該變量,則組件腳本無法看到它,並且如果我在組件腳本中聲明它,標籤將無法看到它。 我將如何聲明它,以便視圖中的每個人都能看到它? 謝謝, 金Flash Builder 4.5中的局部變量

下面是代碼,問題是我應該在哪裏放置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

我認爲你的問題沒有任何意義。首先明確你的問題。 – Exhausted

+0

請詳細解釋,並顯示一些代碼。 – JeffryHouser

+0

如果我明白這個權利,你應該給你的組件一個id。用id,你可以引用組件內的變量。其他方式是從組件到查看的調度自定義事件。 –

回答

0

找到解決方案,我不得不在聲明前添加[Bindable]。

+0

K罰款。我有點忙,所以沒有嘗試過你的代碼... –

0

就試試這個:
中首先聲明MyTotal腳本。
並在組件腳本只是嘗試訪問與outerDocument.MyTotal

+0

不,我得到一個錯誤說:1178:嘗試訪問不可訪問的屬性MyTotal通過靜態類型視圖引用 –

+0

@KimHJ認爲你必須聲明'MyTotal'爲'public'或'protected' –

+0

試過,得到錯誤1120和1178 –