0

2つのコンポーネントを含む1つのメインxmlファイルがあります。コンポーネント1はアップロードコンポーネントです。コンポーネント2はリスト付きのグリッドです。どちらも同じビューステートですが、コンポーネント1にファイルをアップロードしたときにコンポーネント2を更新する必要があります。

だから私の質問は:グリッドを更新する必要があることを認識させるために、コンポーネント1からコンポーネント2にトリガーを送信するにはどうすればよいですか?

4

1 に答える 1

1

コンポーネント間の通信には、イベントを使用します。

たとえば、コンポーネント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()" />
于 2012-08-06T12:15:21.050 に答える