我指的是本站链接文字
在 [Bindable] 标签中使用错误的事件名称会导致您的应用程序无法绑定您的属性,您甚至都不知道原因。当您使用带有自定义名称的 [Bindable] 标记时,下面的示例看起来是个好主意:
public static const EVENT_CHANGED_CONST:String = "eventChangedConst";
private var _number:Number = 0;
[Bindable(event=EVENT_CHANGED_CONST)]
public function get number():Number
{
return _number;
}
public function set number(value:Number) : void
{
_number = value;
dispatchEvent(new Event(EVENT_CHANGED_CONST));
}
上面的代码将静态属性分配给事件名称,然后使用相同的分配来调度事件。但是,当值更改时,绑定似乎不起作用。原因是事件名称将是 EVENT_CHANGED_CONST 而不是变量的值。
代码应该是这样写的:
public static const EVENT_CHANGED_CONST:String = "eventChangedConst";
private var _number:Number = 0;
[Bindable(event="eventChangedConst")]
public function get number():Number
{
return _number;
}
public function set number(value:Number) : void
{
_number = value;
dispatchEvent(new Event(EVENT_CHANGED_CONST));
}
我同意,错误的例子看起来确实是个好主意,我会这样做,因为我认为这是正确的方法,并且避免了打字错误的可能性。为什么使用常量的名称而不是它的值?这肯定不对吧?
我很欣赏你的见解