機械翻訳について

フラグメント変数値のコンテナ変数への自動書込み

フラグメント変数を入力パラメータとして有効にすると、その変数にライトバックのマークを付けて、変数値の変更をフラグメントの親コンテナの変数に自動的に書き戻すことができます。

たとえば、employeesページでは、値としてURLを取得するempAvatar変数を定義するとします。 この変数が入力パラメータとしてフラグメントに渡されると、フラグメントはそれをavatar変数を介して受け取ります。 この変数には、有効なコンテナにライトバックするオプションもあります。 フラグメントが従業員プロファイル・ピクチャを更新するように設定されている場合、フラグメントのavatar変数が新しいURLを使用するように更新されると、外部ページ変数(empAvatar)に変更が書き込まれます。 設定によっては、現在選択されている行に新しい写真が表示される従業員テーブルも更新されることがあります。

(実際のライトバックの例を参照するには、「フラグメントとの間で値を渡す」ブログ投稿を参照してください。)

ライトバックは、プリミティブ(文字列、数値、ブールおよび任意)、配列およびオブジェクト型変数に対してサポートされています。 入力パラメータ値が参照によってすでに渡されている場合(SDPやdynamicLayoutContextなど)、ライトバックは必要ありません。

入力パラメータとして有効になっているフラグメント変数に対して行われた更新を書き戻すには:

  1. 親コンテナ変数でパラメータ値を自動的に更新する変数を定義するフラグメントを開きます(たとえば、ページ・レベルのempAvatar変数で値を直接更新するフラグメント・レベルのavatar変数)。
  2. フラグメント変数タブで、変数(この例ではavatar)を選択します。
  3. 変数のプロパティ・ペインでコンテナにライトバックを選択します:

    このオプションを選択しない場合、フラグメント変数の更新を親コンテナに通知する唯一の方法は、イベント・ペイロードを親コンテナに"emits"するという「カスタム・イベントの呼出し」です。

    イベントはより正式な契約であり、たとえば、従業員の連絡先情報に加えられたすべての変更がサーバーにプッシュされ、同じ変更をページに戻す必要がある場合など、フラグメントに加えられた変更を統合して外部コンテナに伝達する場合に適しています。 一方、親コンテナ変数への自動書込みバックは、フラグメント入力パラメータ変数に対する変更を外部コンテナに即時に通知する場合に適しています。