локальная переменная в Flash Builder 4.5 - PullRequest
0 голосов
/ 20 ноября 2011

У меня есть два сценария в представлении, один сценарий находится внутри компонента. В скрипте компонента мне нужно добавить числа из данных по мере их добавления в список, а затем отобразить сумму в метке, размещенной в представлении. Если я объявляю переменную в первом сценарии, компонентный сценарий не видит ее, а если я объявляю ее в компонентном сценарии, метка не может ее видеть. Как я это объявлю, чтобы каждый мог видеть это? Спасибо, Ким

Вот код, проблема в том, куда мне поместить переменную 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 голосов
/ 01 декабря 2011

Нашел решение, мне пришлось добавить [Bindable] перед объявлением.

0 голосов
/ 21 ноября 2011

Просто попробуйте это:
Объявите MyTotal в первом скрипте.
А в компонентном скрипте просто попробуйте получить доступ с outerDocument.MyTotal

...