我有一个接口IBaseInterface和一个类BaseClass。
BaseClass当我通过类型引用时,IBaseInterface带有事件名称的绑定不会触发。但是,正常绑定(没有事件名称)会触发。
如果我指的是BaseClasswithObject或BaseClasstypes 一切都可以,并且绑定会触发。
IBase接口:
[Event(name="propTwoChanged", type="flash.events.Event")]
[Event(name="propThreeChanged", type="flash.events.Event")]
[Bindable]
public interface IBaseInterface extends IEventDispatcher{
    function get propOne() :Number;
    function set propOne(value:Number) :void;
    [Bindable(event="propTwoChanged")]
    function get propTwo() :Number;
    [Bindable(event="propThreeChanged")]
    function get propThree() :Number;
}
基类:
[Event(name="propTwoChanged", type="flash.events.Event")]
[Event(name="propThreeChanged", type="flash.events.Event")]
[Bindable]
public class BaseClass extends EventDispatcher implements IBaseInterface{
    private var _propOne:Number = 0;
    public function get propOne() :Number{
        return _propOne;
    }
    public function set propOne(value:Number) :void{
        _propOne = value;
        dispatchEvent(new Event('propTwoChanged'));
        dispatchEvent(new Event('propThreeChanged'));
    }
    [Bindable(event="propTwoChanged")]
    public function get propTwo() :Number{
        return propOne * 2;
    }
    [Bindable(event="propThreeChanged")]
    public function get propThree() :Number{
        return propOne / 2;
    }
}
因此,为了澄清问题:
propTwo并且propThree绑定IBaseInterface不会触发。propOne绑定没问题,这没有事件名称。- 只有通过接口访问时才会出现问题,其他类型都可以。