Utilizzare il metatag [Bindable]
Scritto da loigeIn questo articolo vedremo quanto può essere utile il metatag [Bindable] e come può velocizzare l’aggiornamento di tutti i controlli che fanno riferimento ad una variabile definita per l’appunto [Bindable]
Il metatag [Bindable] associato ad attributi di classe ha la capacità di aggiornanare automaticamente tutti i riferimenti all’attributo nel momento in cui l’attributo stesso viene modificato, evitandoci così la fastidiosa pratica di dover scrivere una funzione ad hoc per aggiornare tutti i controlli necessari dopo la modifica di un valore specifico.
Per capire meglio il tutto è conveniente analizzare un esempio concreto.
Osservate il seguente esempio, dopo ne analizzeremo il codice per capire come funziona.
L’ esempio è davvero semplicissimo: cliccando sul pulsante viene incrementata una variabile ed aggiornata la label che mostra lo status, ma proprio grazie al metatag [Bindable] possiamo evitare la scrittura della specifica funzione per aggiornare la label poichè verrà tutto fatto in automatico dopo aver incrementato la variabile.
<?xml version=“1.0″ encoding=“utf-8″?>
<mx:Application xmlns:mx=“http://www.adobe.com/2006/mxml” layout=“vertical” backgroundGradientAlphas=“[1.0, 1.0]” backgroundGradientColors=“[#B7DBFB, #91B9DC]”>
<mx:Script>
<![CDATA[
[Bindable] private var counter:uint;
private function btn_cliccami_OnClick():void
{
this.counter++;
}
]]>
</mx:Script>
<mx:VBox verticalAlign=“middle” horizontalAlign=“center”>
<mx:Label id=“lbl_visualizza” text=“Hai cliccato il pulsante {counter} volte”/>
<mx:Button label=“Cliccami” id=“btn_cliccami” click=“btn_cliccami_OnClick()”/>
</mx:VBox>
</mx:Application>
Il fulcro dell’applicazione flex sta all’interno del tag mx:Script.
Come potete notare abbiamo dichiarato un attributo di classe chiamato counter di tipo uint e lo abbiamo contrasssegnato con il metatag [Bindable].
Poi abbiamo creato una funzione che non fa altro che incrementare il valore di counter. Questa funzione verrà richiamata alla pressione del pulsante.
Il resto del codice contiene tutto il necessario a costruire l’interfaccia grafica. Non dimenticate di inserire l’attributo click=”btn_cliccami_OnClick()” al pulsante per far in modo che al click venga richiamata la funzione da noi creata per incrementare il counter. Inoltre notate l’uso delle parentesi graffe nell’attributo text della label: le parentesi graffe servono a specificare una variabile o una funzione che si trova all’interno di un tag mx:Script.
A questo punto dovrebbe esservi chiaro il funzionamento del metatag [Bindable] e se non siete ancora del tutto convinti della sua efficacia provate innanzitutto a cancellarlo dallo script e ad eseguire la pagina e poi provate ad implementare l’aggiornamento della label scrivendovi una funzione apposita.
A presto e BUON 2008
24 Febbraio 2008 alle 01:53
Davvero niente male..
Ignoravo questa possibilità!
3 Marzo 2008 alle 10:17
Sono estremamente sicuro che flex sarà la rivelazione dei prossimi anni in ambito di programmazione web!
Spero di avere in futuro il tempo e la volontà di scrivere qualche altro articolo!