J'ai deux scripts dans une vue, un script est dans un composant. Dans le script Component, je dois ajouter des nombres à partir de données lorsqu'elles sont ajoutées à une liste, puis afficher le total dans une étiquette placée dans la vue. Si je déclare la variable dans le premier script, le script Component ne peut pas le voir et si je le déclare dans le script de composant, l'étiquette ne peut pas le voir. Comment vais-je le déclarer pour que tout le monde dans la vue puisse le voir? Merci, KimVariable locale dans Flash Builder 4.5
Voici le code, le problème est où dois-je placer le var MyTotal il peut être utilisé partout dans la vue:
<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>
Je pense que votre question n'a aucun sens. D'abord, clarifiez votre question. – Exhausted
S'il vous plaît expliquer plus clairement, et montrer du code. – JeffryHouser
Si je comprends bien, vous devez donner un identifiant pour votre composant. Avec un identifiant, vous pouvez référencer des variables dans un composant. L'autre manière est l'événement personnalisé d'expédition du composant à voir. –