機械翻訳について

親コンテナに送信するフラグメントまたはレイアウト・イベントの呼出し

applicationで定義されているレイアウトおよび断片は通常、親コンテナ・コンテキストを認識しません。 つまり、レイアウトまたはフラグメント内で定義されたイベントは、レイアウトまたはフラグメント・スコープ内でのみ"listenable"になります。 これらのイベントを親コンテナ(別の外部フラグメントなど)でリスニング可能にするには、親が処理できるカスタム・イベントを起動する必要があります。

この例を考えてみます: たとえば、保存ボタンでフォームを定義しているとします。 ユーザーがフォーム・データを更新してボタンをクリックするたびに、on-clickイベントによって更新を保存するRESTコール・アクションがトリガーされます。 フラグメントを使用するページで更新を使用可能にするには、アクション・チェーンのフラグメント・コンテナにペイロードを出力するイベントの起動アクションが必要です。 これにより、ページがこのカスタム・イベントをリスニングし、イベント・リスナーを同じイベントにバインドし、必要に応じてペイロードをさらに処理できます。

ページから新しいカスタム・イベントを起動する場合は、カスタム・イベント(ページ・イベントとは異なり)がコンテナ階層を"bubbles"することに注意してください。 指定されたフローまたはページのイベント・リスナーは、コンテナの親でリスナーを探す前に実行されます。 コンテナ処理の順序は次のとおりです:
  • イベントが起動されるページ
  • ページを含むフロー
  • フローを含むページ
  • コンテナを再帰的に起動し、applicationで終了します。
レイアウトまたはフラグメント・イベントを親コンテナでリスニング可能にするには:
  1. 親コンテナにペイロードを出力するカスタム・イベントを作成します。
    1. レイアウトまたは断片「イベント」タブで、「+カスタム・イベント」をクリックします。
    2. イベントID (shouldemailbesentなど)を入力し、その親コンポーネントにイベントのペイロードを発行するオプションを選択します。 レイアウト・イベントの場合は、「イベントをページに出力」を選択し、フラグメント・イベントの場合は、「イベントをコンテナに出力」を選択します。 「Create」をクリックします。
    3. 必要に応じて、イベント・エディタでイベントを選択し、プロパティ・ペインのペイロードの横にある「パラメータの追加」をクリックして、親コンテナに渡されるペイロードを指定します。
    4. ペイロード・パラメータ名を入力し、そのタイプを選択して、「作成」をクリックします。 このフラグメントの例では、タイプがbooleanのshouldEmailBeSentペイロード・パラメータです:

    ノート:

    イベントがペイロードを親コンテナに出力するように設定されている場合、そのpropagationBehaviorプロパティは「フラグメントまたはレイアウト・モデル」containerに設定されます。 デフォルトはselfで、レイアウトまたはフラグメントで定義されたイベント・リスナーでのみイベントを処理できることを示します。
  2. イベントの発生時にトリガーされるイベントの起動アクションを含むアクション・チェーンを作成します。
    1. レイアウトまたはフラグメントの「アクション・チェーン」タブに切り替えて、「+アクション・チェーン」をクリックし、IDを入力し、「作成」をクリックして新しいアクション・チェーンを作成します。 既存のアクション・チェーンを選択することもできます。
    2. アクション・チェーンで、Fire Eventアクションをドラッグ・アンド・ドロップします。
    3. 「Fireイベントのプロパティ」ペインで、起動するイベントを選択します(例: shouldemailbesent)。
    4. 「パラメータ」で、shouldemailbesent 「変数ピッカーを開く」の横にある(x)をクリックし、「入力パラメータ」の下に文字列型valueを作成します。

  3. レイアウトまたはフラグメントを使用するページで、カスタム・イベントを処理するように親コンテナを構成します。
    1. ページ・デザイナで、コンポーネント(フラグメントなど)を選択して「プロパティ」ペインを開き、「イベント」タブをクリックしてから、「+イベント・リスナー」をクリックし、推奨されるカスタム・イベント(shouldemailbesentなど)を選択します。
    2. イベントが発生したときにトリガーする必要があるアクション・チェーンを定義します。 たとえば、ユーザーがフラグメントでスイッチを切り替えたときに、ページに通知を表示する場合があります。 これを行うには、「通知の起動」アクションを追加し、その後に「変数の割当て」アクションを追加して、アクション・チェーンの値をページ・レベルの変数に割り当てます。