Как лучше всего «слушать» на сеттере? - PullRequest
1 голос
/ 30 марта 2011

Я хочу пользовательскую функцию, вызываемую после вызова сеттера. У тебя есть идея? ObjectProxy для переменных с прослушивателем PROPERTY_CHANGE - единственный способ?

Спасибо

Ответы [ 2 ]

1 голос
/ 30 марта 2011

Я на самом деле предпочитаю механизм, который мне кажется немного более декларативным и чистым:

[Bindable]
public class MyClass
{
    public var foo:Number;

    public function MyClass() {
        BindingUtils.bindSetter(whenFooIsSet, this, "foo");
    }

    private function whenFooIsSet(newValue:Number) {
    }
}
1 голос
/ 30 марта 2011

Расширьте EventDispatcher из вашего класса, затем в вашем методе set просто отправьте событие.

class MyClass extends EventDispatcher {
    public static const PROPERTY_CHANGED:String = "PROPERTY_CHANGED";

    private _foo:Number = 0;

    public function MyClass() { }

    // else where
    public function set foo(value:Number):void {
        _foo = value;
        dispatchEvent(new Event(PROPERTY_CHANGED));
    }


}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...