什么是“聆听”二传手的最佳方式?

时间:2011-03-30 07:28:10

标签: flex actionscript-3

我想要一个在setter调用之后调用的自定义函数。你有好主意吗 ? 具有PROPERTY_CHANGE侦听器的变量上的ObjectProxy是唯一的方法吗?

由于

2 个答案:

答案 0 :(得分:1)

从您的类中扩展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));
    }


}

答案 1 :(得分:1)

我实际上更喜欢一种我认为更具说明性和清晰度的机制:

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

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

    private function whenFooIsSet(newValue:Number) {
    }
}