0

私たちの Web アプリケーションは、mvp4g フレームワークに基づいています。私の状況を説明するために、次の表記法を使用します。

A, B              - two different gwt modules
presenterA, viewA - presenter and view pair in module A
            viewA contains an iframe and a button along with other UI components
presenterB, viewB - presenter and view pair in module B
eventBusA         - an eventBus in A with event handler in presenterA
eventBusB         - an eventBus in B with event handler in presenterB

の読み込みから申し込みの流れが始まりますAviewAが表示され、クリック時にボタンと iframe が含まれます。このモジュールBは、URL を呼び出すことによって iframe 内にロードされ、同時にviewAアクティブな表示から を非表示にします。したがって、バックグラウンドでまだアクティブです。Bは別のモジュールです ( と の間に子と親の関係はAありませんB)。それがロードviewBされ、ボタンをクリックした後、ステータスを非表示から表示に変更したいのでviewB、イベントに再度移動したいと思います。ただし、またはからはアクセスできません。eventBusAviewAeventBusApresenterBeventBusB

私はうまくいかなかった次のことを試しました:

  1. presenterB を介して viewB でのクリックに応答するために、eventBusB で作成されたイベント。ハンドラとして presenterA を追加しました。
  2. 同じイベントで、モジュール A をターゲットとして moduleToLoad を追加しました。A を子モジュールとして宣言する必要があります。
  3. GWT-Exporter プロジェクトを使用した JavaScript API について考えました。
4

1 に答える 1

0

問題は、モジュール B がモジュール A にプッシュ通知を送信する必要があることです。そのための解決策はありません。

最善の解決策は、URL を送信してモジュール A を再度開始し、Place パターンを使用してモジュール A のアプリケーション状態を復元することです。

したがって、モジュール A はモジュール B にトークン (履歴トークン) を送信する必要があります。モジュール B はトークンを保存する必要があり、モジュール B がモジュール A に制御を返す場合は、モジュール A の URL を呼び出してトークンを使用する必要があります。 # パラメータとして。mvp4g の歴史ドキュメントをご覧ください。

于 2013-10-21T14:17:17.227 に答える