1

ViewNavigatorApplicationからイベントをディスパッチし、別のビューでキャッチしたいと思います。

var terminateEvent:MyEvent = new Event(MyEvent.COMPLETE);
dispatchEvent(terminateEvent);

別のビューでイベントをキャッチできません

this.addEventListenerMyEvent.COMPLETE, terminateExperiment_Handler);

どうやってやるの?

4

1 に答える 1

0

イベントは、表示階層の上位に通信するためにのみ使用する必要があります。ダウンしていません。

通信したい場合は、プロパティを変更するか、ビュークラスのメソッドを呼び出すことによって通信する必要があります。

そうは言っても、 FlexGlobalsを使用して、ビューからアプリケーションにリスナーを追加できます。

(FlexGlobals.topLevelApplication as ViewNavigatorApplication).addEventListenerMyEvent.COMPLETE, terminateExperiment_Handler);

このように「親」を聞くことは、通常、カプセル化の違反と見なされ、そのアプローチを軽くお勧めしません。

于 2012-08-06T14:39:05.680 に答える