Vous souhaitez effectuer une action dès lors qu’une variable est modifiée ? Rien de plus simple grâce à la classe « ChangeWatcher« , littéralement « Surveillant de changement », et particulièrement grâce à la méthode statique watch().
Les paramètres minimum à lui passer sont les suivants :
host -> l’objet qui contient la variable. Si vous êtes dans un mxml, l’objet sera « this »,
chain -> la variable ou la chaine de variable que vous souhaitez surveiller,
handler -> la fonction à appeler en cas de changement.
Il est de bon ton de tester avant si la variable est surveillable, à l’aide de la fonction statique canWatch() qui reprend les mêmes paramètres que la fonction watch() à l’exception de l’handler. Elle retourne un bool, et en cas d’une réponse positive, on peut lancer la surveillance.
Voici donc une méthode rapide et efficace de bind.
Articles sur le même sujet :

Bonjour,
Il n’est pas plus facile et surement moins gourmand de simplement implémenter un getter et setter pour la variable en question ?
Hello
+1
EKA+
Oui et non, dans le cadre d’une variable de classe, ok, un getter/setter est simple à mettre en place.
Mais voici quelques exemples qui rendent l’utilisation d’un getter/setter impossible et/ou pas pratique:
1°) Si on est dans une classe (C1), qui contient des instances d’autres classes (C2, C3), et si l’on souhaite écouter le changement d’une des propriétés de ces instances, sans pour autant déclencher une action lorsque l’on instancie C2 ou C3 en dehors de C1.
2°) Enfin dans le cas où l’ont veut appeler toujours la même fonction lors de la modification de plusieurs variables (variables, ou variables d’instances) de notre classe, l’utilisation de getter/setter est là encore pas pratique (et rajoute plein de code pour pas grand chose), et rend très très pratique (expérience vécue :p) l’utilisation de ChangeWatcher.
Excellent,
Pile poil ce que je cherchais pour déclencher une fonction dans ma petite application de films