2011-02-10 6 views
1

コンポーネントがレンダリングされるたびに発生するcreationCompleteと同様の呼び出しは何ですか?私は、コンポーネントがレンダリングされるたびに関数を再実行したい(HTTPリクエストを生成する必要がありますが、毎回変更を呼び出すURLがあります)、どうやってそれを行うのか分かりません。コンテキストの場合コンポーネントの再レンダリング時に発生するフレックスイベント?

:多分

<s:Group xmlns:fx="http://ns.adobe.com/mxml/2009" 
    xmlns:s="library://ns.adobe.com/flex/spark" 
    xmlns:mx="library://ns.adobe.com/flex/mx" width="100%" height="100%" 
    creationComplete="loadGallery()"> 

private function loadGallery():void { 
      var src:String = "http://localhost:3000/car_type/" + UserPreference.getInstance().carType.toString() + ".xml"; 
      Alert.show(src); 
      httpService.url = src; 
      httpService.send(); 
     } 

答えて

0
+0

Docsに基づいて、コンポーネントがレンダリングされる前にレンダリングイベントが送出されているように見えますが、元のポスターはレンダリング後にコードを実行する必要があります。これが元のポスターではうまくいくかどうかはわかりません。 Flexのコンテキストでは、私はupdateCompleteが彼が探しているものだと信じています。 – JeffryHouser

+0

確かに、それを指摘してくれてありがとう –

1

コンポーネントのupdateDisplayListメソッドをオーバーライドし、そこでloadGalleryメソッドへの呼び出しを追加します。

希望に役立ちます。

+2

これは多くの状況でうまくいくと思います。しかし、彼は彼の機能が欲しいものに依存しています。 httpService呼び出しをupdateDisplayList()メソッドにラップすることは望ましくありません。コンポーネントの表示を更新する必要はないからです。また、コンポーネントがupdateDisplayListを実行しないでレンダリングイベントを通過する可能性もあります。たとえば、サイズとプロパティが無効になっていても、displayListが無効であったとします。 updateCompleteメソッドを聴くことは、私の回答によると思います。 – JeffryHouser

+0

@Flextras:私はあなたの答えが好きです:) –

関連する問題