在AIR應用程序中,我有一個私有變量和setter方法:Flex事件纔會觸發一次
private var _saveResult
public function set saveResult(result:String):void
{
_saveResult = result;
dispatchEvent(new resultUpdatedEvent(_saveResult));
}
的第一次,我設置「saveResult」的事件觸發。但除非我重新啓動應用程序,否則它不會再次啓動。
如果我改變二傳手到:
public function set saveResult(result:String):void
{
_saveResult = result;
if (result != null)
{
dispatchEvent(new resultUpdatedEvent(_saveResult));
}
}
問題就沒有了,我可以設置每次變量很多時間和事件觸發。
我的問題:
我在這裏做錯了什麼?如果沒有,任何人都可以向我解釋發生了什麼?如果是這樣,我該怎麼做?
謝謝!
@quoo 哇。好決定!我正在構建我的活動不正確,謝謝你的提示。 :D 但現在我正確調用構造函數,仍然有問題。 我找到了。 如果我有一個getter和一個具有相同名稱的setter函數(saveResult),那麼我可以調用setter一次,任何後續調用只是默默無聞。事實證明,這不是一個事件錯誤,但我學到了關於事件的東西,所以謝謝。我必須在我的二傳手/吸氣球手上做錯事,但我看不到任何問題。 – PaulC 2009-10-12 19:52:01
你確定你正在設置不同的值。如果您設置了相同的值,Flex會忽略它(以節省綁定時間)。 – ZaBlanc 2009-10-13 04:42:25
@ZaBlanc只有當屬性是[[Bindable]]時,對吧? – Amarghosh 2009-10-13 05:28:12