J'ai plusieurs composants dans lesquels je veux activer les boutons basés sur la transmission d'un nom d'utilisateur à une fonction. Je veux lier dynamiquement la propriété "enabled" sur un bouton de sorte que si l'événement "somethingChanged" se déclenche, un bouton peut être activé ou désactivé. Mais, je ne suis pas sûr d'où déclencher l'événement "somethingChanged". Il est possible que je devrais déclencher l'événement "somethingChanged" à partir de plusieurs endroits de l'application. Est-ce possible avec une fonction statique liée?Liaison d'un composant Flex à une fonction de classe
Suis-je sur le bon chemin ou y at-il une meilleure solution?
EventManager.as
public class EventManager():void
{
[Bindable(event="somethingChanged")]
public static function hasAccess(myVal:String):Boolean
{
}
}
testform1.mxml
<s:Button id="testButton1" enabled="{EventFunction.hasAccess("john")}" />
<s:Button id="testButton2" enabled="{EventFunction.hasAccess("mary")}" />
<s:Button id="testButton3" enabled="{EventFunction.hasAccess("beth")}" />
testform2.mxml
<s:Button id="testButton4" enabled="{EventFunction.hasAccess("tom")}" />
<s:Button id="testButton5" enabled="{EventFunction.hasAccess("bill")}" />
<s:Button id="testButton6" enabled="{EventFunction.hasAccess("jerry")}" />
Cette approche fonctionnerait mais j'éviterais le motif de Singleton ici. Créez simplement une classe qui étend EventDispatcher et déclarez-la comme une variable publique sur le composant qui doit être défini. –
Je suis d'accord en ce qui concerne le singleton. –
Vous n'avez pas besoin de spécifier l'événement de liaison sur une propriété, juste sur un setter. – sharvey