2つのコンポーネントを含む1つのメインxmlファイルがあります。コンポーネント1はアップロードコンポーネントです。コンポーネント2はリスト付きのグリッドです。どちらも同じビューステートですが、コンポーネント1にファイルをアップロードしたときにコンポーネント2を更新する必要があります。
だから私の質問は:グリッドを更新する必要があることを認識させるために、コンポーネント1からコンポーネント2にトリガーを送信するにはどうすればよいですか?
2つのコンポーネントを含む1つのメインxmlファイルがあります。コンポーネント1はアップロードコンポーネントです。コンポーネント2はリスト付きのグリッドです。どちらも同じビューステートですが、コンポーネント1にファイルをアップロードしたときにコンポーネント2を更新する必要があります。
だから私の質問は:グリッドを更新する必要があることを認識させるために、コンポーネント1からコンポーネント2にトリガーを送信するにはどうすればよいですか?
コンポーネント間の通信には、イベントを使用します。
たとえば、コンポーネント1内では、アップロードが終了するたびに「完了」イベントをディスパッチします。
dispatchEvent(new Event(Event.COMPLETE));
次に、このイベントをリッスンし、コンポーネント2に何をすべきかを伝えます。メインクラスで次のようなことを行います。
component1.addEventListener(Event.COMPLETE, handleUploadComplete);
private function handleUploadComplete(event:Event):void {
component2.updateGrid();
}
そのためのMXMLサポートが必要な場合は、次のメタデータをコンポーネント1に追加します。
[Event(name="complete", type="flash.events.Event")]
次に、このようなイベントをリッスンできます。FlashBuilderはイベントハンドラーを提案します。
<Component1 complete="handleUploadComplete()" />