フラグメントでの処理およびイベントの定義
フラグメントを開発する場合は、actionsを使用してユーザー・インタフェースで何が発生するかを定義し、「イベント」を使用してページやフローとほぼ同じようにそれらのアクションをトリガーします。 ただし、これらのアクションおよびイベントの範囲はフラグメント自体に限定されるため、フラグメントは独立していますが、親コンテナのコンテキストを認識していません。
つまり、フラグメントは、このフラグメントを使用するコンテナ(たとえば、ページ、レイアウトまたは別のフラグメント)で定義されたアクション・チェーンをコールできません。 また、親コンテナによって起動されたイベントをリスニングできませんが、親コンテナに対して"emit"するカスタム・イベントを起動できます。 「フラグメントとその親コンテナ間でデータを渡す」を参照してください。
フラグメント内のアクション・イベントの定義方法は、他のスコープ内のものと似ていますが、他のスコープからのすべてのイベントがフラグメントで使用できるわけではありません。 フラグメント内でサポートされているイベント・タイプおよびイベントのリストを次に示します:
| イベントのタイプ | 説明 | 定義方法 |
|---|---|---|
| コンポーネント・イベント | 動的コンポーネントに含まれるものを含む、ページのUIコンポーネントに関連付けられたイベント。 コンポーネントがトリガーするイベントを選択できますが、使用可能なイベントはコンポーネントによって異なります。 たとえば、ボタンではojActionイベントを使用できますが、入力テキストでは使用できません。
|
コンポーネントからのアクション・チェーンの開始 |
| 変数イベント | 変数に格納されている値が変更されたときに発生する変数に固有のイベント。 使用可能な変数イベントはonValueChangedのみです。
|
変数が変更された場合のアクション・チェーンの開始 |
| ライフサイクル・イベント | フラグメントのライフサイクル中に自動的にトリガーされる事前定義済イベント:
|
ライフサイクル・イベントからのアクション・チェーンの開始 |
| カスタム・イベント | アクション・チェーンを開始するユーザー定義イベント。 次の2タイプのカスタム・イベントがフラグメントでサポートされています:
|