domanda Binding
-
26-10-2019 - |
Domanda
Ciao
Ho qualche codice. Io uso Cairngorm.
creo un semplice comando, controllo, eventi, modelLocator, il modello e la vista.
A mio avviso ho un textInput legano con una variabile 'valore' formare il mio modello
<s:TextInput id="textInputName" width="100%" text="{modelLocator.model.value}" valueCommit="modelLocator.model.value = textInputName.text"/>
<mx:HRule width="100%"/>
<s:Button width="100%" label="Reset" click="reset()"/>
Quando inizio, il testo del textInput è il valore del 'valore' del mio modello.
Quando cambio il valore della textInput, cambia 'valore' del mio modello.
Ma quando sono fare reset, inviare un evento e il set di comandi 'valore' di modello a "", ma il testo del textInput non cambia.
Perché? Non il valore del cambiamento textInput in quanto il valore di 'valore' del cambiamento del modello?
Se non che cosa devo fare per farlo?
Soluzione
Assicurarsi che il valore è associabile nel modello.
Come nota a margine, invece di utilizzare un evento valueCommit, è possibile utilizzare la funzione bidirezionale di legame disponibili in Flex 4:
<s:TextInput id="textInputName" width="100%" text="@{modelLocator.model.value}"/>
Ogni volta valore viene aggiornato, proprietà text è aggiornata (disponibile, il valore è associabile) e viceversa