我指的是這個網站link text有人可以向我解釋這個常見的約束性陷阱嗎? (使用錯誤的綁定事件名稱)
在 [綁定]標籤使用錯誤的事件名稱可能會導致 應用到你的財產沒有綁定, 你不會甚至知道爲什麼。當 使用[綁定]標籤與 自定義名稱,下面的例子看起來 是一個好主意:
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));
}
我同意,錯誤的例子看起來像一個好主意,我會做到這一點,那是因爲我認爲這是正確的方式和避免了輸入錯誤的可能性。爲什麼使用常量的名稱而不是它的值?當然這不可能是對的?
我很欣賞你的見解