4 つのタブを持つタブ付きダイアログがあります。親コンポーネントは mx:TabNavigator で、タブの各ビューは s:NavigatorContent 内のカスタム MXML コンポーネントです。3 つのタブのデータを 1 つの単位としてバックエンド サービスに送信する必要があります。3 つのタブが 1 つのユニットとして送信されるデータにアクセスできるようにする最善の方法を見つけようとしています。現在、最上位の mx:TabNavigator を定義する .mxml ファイルが 1 つあります。4 つのタブのそれぞれは、独自の個別の .mxml ファイルで定義された s:NavigatorContent を表し、ファイル サイズをかなり短くします。私の現在のアプローチは、各タブがバックエンド サービスからデータを creationComplete ハンドラーにロードし、それを 3 つのタブで共有されるデータ モデルの共通クラスに格納することです。このソリューションは、次を除いて問題ありません。
- 最初のタブの作成完了ハンドラーは、それが最初に表示されるコンポーネントではない場合でも、アプリケーションの起動時に呼び出されます (つまり、ユーザーが最初に表示する UI の他の部分があります)。タブがユーザーに表示されるまでデータが読み込まれない、真の遅延読み込みを使用したいと思います。
- ユーザーが最初のタブでデータを編集し、適用ボタンを押さずに 2 番目のタブに初めて移動すると、2 番目のタブの作成完了ハンドラーが共有されたデータ モデルをロードするため、最初のタブで行われた変更は失われます。 3つのタブで。
私が理想的に欲しいのは:
- 真の遅延読み込み; ユーザーがタブをクリックして表示されるまで、データはロードされません。
- ユーザー ヒットが 3 つのタブのいずれかに適用されると、3 つのタブのそれぞれの現在のエントリがバックエンド サービスに送信されるようにします。
誰かがこれについてアドバイスできるなら、どうもありがとう。必要に応じて、さらに詳しく説明できます。