アクションとイベント
フレームワークでは、イベントを使用してコンポーネント間でデータを通信します。通常、イベントはユーザアクションでトリガされます。
- アクション
- コンポーネントまたはアプリケーションの要素に対するユーザ操作。ユーザアクションでイベントがトリガされますが、イベントは常にユーザアクションで明示的にトリガされるわけではありません。この種別のアクションは、クライアント側の JavaScript コントローラのアクション (コントローラアクションとも呼ばれる) と同じではありません。次のボタンは、ボタンのクリックに応じてブラウザの onclick イベントに結び付けられます。
ボタンをクリックすると、コンポーネントのクライアント側コントローラで handleClick メソッドが呼び出されます。
- イベント
- アクションに関するブラウザからの通知。ブラウザイベントは、前の例のようにクライアント側の JavaScript コントローラで処理されます。ブラウザイベントは、コンポーネント間でデータを通信するために JavaScript コントローラで作成して起動できるフレームワークのコンポーネントイベントやアプリケーションイベントと同じではありません。たとえば、チェックボックスのクリックイベントをクライアント側コントローラに結び付け、そのコントローラからコンポーネントイベントを起動して、関連データを親コンポーネントと通信できます。
システムイベントと呼ばれる別のタイプのイベントは、ライフサイクル (コンポーネントの初期化、属性値の変更、表示など) の間にフレームワークによって自動的に起動されます。コンポーネントは、コンポーネントのマークアップでイベントを登録してシステムイベントを処理できます。
次の図は、サーバからのデータの取得をコンポーネントに要求するボタンをユーザがクリックしたときの様子を示しています。

- ユーザがボタンのクリックまたはコンポーネントに対する操作を行うと、ブラウザイベントがトリガされます。たとえば、ボタンのクリック時にサーバのデータを保存できます。
- ボタンをクリックすると、ヘルパー関数を呼び出す前にカスタムロジックを提供するクライアント側の JavaScript コントローラが呼び出されます。
- JavaScript コントローラにより、ヘルパー関数が呼び出されます。ヘルパー関数を使用すると、コードの再利用が促進されますが、この例では省略可能です。
- ヘルパー関数により、Apex コントローラメソッドがコールされ、アクションがキューに入ります。
- Apex メソッドが呼び出され、データが返されます。
- Apex メソッドが完了すると、JavaScript コールバック関数が呼び出されます。
- JavaScript コールバック関数により、ロジックが評価されて、コンポーネントの UI が更新されます。
- ユーザに更新されたコンポーネントが表示されます。