2008年02月23日

Flex2 コンテナの子コンポーネントの生成について

ViewStackなどを使ったページ遷移処理で以下のような場合にFlexの処理が止まる場合がある。

・ViewStack内部の子コンポーネントに必要なサーバからのデータを受信

・受信したデータを子コンポーネント内のListやComboboxなどにセット

・ViewStack内部の子コンポーネントを切り替える

この場合、デフォルトではコンテナの子コンポーネントが生成されるのはユーザーがそれらのコンポーネントに移動した(表示されるとき)だけなので、事前にコンポーネントを生成しておかないと、上記のようなロジックの場合止まる。

解決するには以下のようにcreationPolicyを設定する。

//ViewStackのサンプル
<mx:ViewStack selectedIndex="{pageIndex}" creationPolicy="all">

このようにすることで、ViewStackが表示された際に子コンポーネントも生成されるようになります。

この辺は遅延生成の使用なども絡んでくるので、初期ロードの分割など、作り方によって変わりますね。

hiroki0907 at 09:14トラックバック(1)Flex  

トラックバックURL

トラックバック一覧

1. [Air/Flex]ViewStackの落とし穴  [ 秘密結社ぎゅう☆ぎゅう倶楽部 ]   2008年07月17日 14:42
 画像一覧で、表示形式をリストとサムネイルの一覧で切り替えられるという仕様があ...

現在の戦闘力
ドラゴンボール改 3 [DVD]

このブログの戦闘力

3919

「ナッパ」
クラスです。

by ブログ戦闘力チェッカー

  • ライブドアブログ