天天看點

Flex 關于validateNow方法

官方解釋:驗證并更新此對象的屬性和布局,如果需要的話重繪對象。通常隻有當腳本執行完畢後,才會處理要求進行大量計算的處理屬性。如果腳本多次設定了 width 屬性,則延遲處理可防止進行多次處理。此方法允許您手動覆寫此行為。

個人了解:驗證元件的加載完成度,也就是說,當你想調用元件的屬性方法,但又怕元件在調用時未加載完成造成“TypeError: Error #1009: 無法通路空對象引用的屬性或方法。”,這時,在你要調用元件的屬性方法前面加上validateNow();,avm就會等此元件加載完成後繼續執行下面的代碼,就不會存在空指針了,典型應用:

這樣寫可以保證Tree元件在頁面加載完成後展開所有節點,如果不加,展開節點的代碼就會在元件加載完成之前執行,以至于代碼失效,節點無法展開。

baseInfo是s:NavigatorContent,加了此方法就不會報空指針了,[size=medium][b]是對ViewStack轉換tab時外部調用tab内部資料報空指針的完美解決。[/b][/size]

此方法應該也适用于其他元件,就不一一舉例了,各位可自行嘗試,祝好運:)