Ho un oggetto che contiene una dozzina di campi che voglio associare per formare elementi, in modo che io può usare quell'oggetto per inviare i dati al server da salvare.Flex Avvertenza: impossibile associare alla proprietà 'pippo' sulla classe 'Oggetto' (la classe non è un IEventDispatcher)
Definizione del mio oggetto contenitore:
private static const emptyLink:Object = {
id: -1, title:'',
trigger1:'',trigger2:'',trigger3:'',trigger4:'',trigger5:'',
linkTitle:'', linkBody:'',
answer1:'',answer2:'',answer3:'',answer4:'',answer5:''
};
[Bindable] public var currentLink:Object = emptyLink;
currentLink
è assegnato in fase di esecuzione ad un indice specifico da un ArrayCollection, sto solo utilizzando l'oggetto emptyLink
a fini di inizializzazione, per lo più.
<mx:Panel id="triggerPanel" title="Trigger" width="33%">
<mx:VBox id="tpBoxes" width="100%" paddingBottom="5" paddingLeft="5" paddingRight="5" paddingTop="5">
<mx:TextInput id="trigger1" width="100%" textAlign="left" text="{currentLink.trigger1}" />
<mx:TextInput id="trigger2" width="100%" textAlign="left" text="{currentLink.trigger2}" />
<mx:TextInput id="trigger3" width="100%" textAlign="left" text="{currentLink.trigger3}" />
<mx:TextInput id="trigger4" width="100%" textAlign="left" text="{currentLink.trigger4}" />
<mx:TextInput id="trigger5" width="100%" textAlign="left" text="{currentLink.trigger5}" />
</mx:VBox>
</mx:Panel>
Naturalmente, questo compila e visualizza bene, ma ci sono avvisi di runtime per ogni istanza:
avvertimento: in grado di legarsi alle cose 'Trigger1' sulla classe 'Oggetto' (classe è non un IEventDispatcher) Avviso : impossibile eseguire il binding alla proprietà 'trigger2' sulla classe 'Object' (la classe non è un IEventDispatcher) Avviso : impossibile eseguire il binding alla proprietà 'trigger3' sulla classe 'Object' (la classe non è un IEventDispatcher) Avviso : impossibile eseguire il binding alla proprietà 'trigger4' sulla classe 'Object' (la classe non è un IEventDispatcher) avvertimento: incapace di legare alla proprietà 'trigger5' on 'Oggetto' di classe (classe non è un IEventDispatcher)
E l'oggetto currentLink
non viene aggiornato quando i campi TextInput
vengono modificati.
La risposta ovvia è che il mio oggetto deve essere un'istanza di una classe che implementa IEventDispatcher
. Ciò che questa risposta non mi dice sono i dettagli dell'implementazione di quell'interfaccia (cosa è richiesto? Cosa non lo è?), E se c'è un modo più semplice per farlo, come una classe integrata che accetterà volentieri le mie proprietà personalizzate e consentirà per il binding, senza che io debba preoccuparmi dei particolari di implementazione dell'interfaccia.
Esiste una classe simile? In caso contrario, qual è lo standard minimo e/o accettato per eseguire questa attività?
il tuo link non va alla pagina all'interno dei livedocs che hai pensato di fare. Ogni pagina di riferimento di livedocs ha un "Link corrente: ..." nel suo piè di pagina, con l'URL per il collegamento diretto della pagina che stai visualizzando. Usalo. :) –