この文章は Salesforce 機械翻訳システムを使用して翻訳されました。詳細はこちらをご参照ください。
英語に切り替える

コンポーネントイベントの例

以下に、コンポーネントイベントを使用して、別のコンポーネントの属性を更新する簡単な使用事例を示します。
  1. ユーザがノーティファイアコンポーネント ceNotifier.cmp のボタンをクリックします。
  2. ceNotifier.cmp のクライアント側コントローラが、コンポーネントイベントにメッセージを設定し、イベントを起動します。
  3. ハンドラコンポーネント ceHandler.cmp にはノーティファイアコンポーネントが含まれ、起動されたイベントを処理します。
  4. ceHandler.cmp のクライアント側コントローラが、イベントで送信されたデータに基づいて ceHandler.cmp の属性を設定します。

この例のイベントおよびコンポーネントは、デフォルトの c 名前空間を使用します。自分の組織に名前空間がある場合は、その名前空間を使用してください。

メモ

コンポーネントイベント

ceEvent.evt コンポーネントイベントには属性が 1 つ設定されています。この場合は、起動時にこの属性を使用してイベントに一定のデータを渡します。

ノーティファイアコンポーネント

c:ceNotifier コンポーネントは aura:registerEvent を使用して、コンポーネントイベントを起動する可能性があることを宣言します。

コンポーネントのボタンには、onclick ブラウザイベントがあり、クライアント側コントローラの fireComponentEvent アクションに結び付けられています。ボタンをクリックすると、アクションが呼び出されます。

クライアント側コントローラが、cmp.getEvent("cmpEvent") をコールして、イベントのインスタンスを取得します。この cmpEvent は、コンポーネントのマークアップにある <aura:registerEvent> タグの名前属性の値と一致します。このコントローラがイベントの message 属性を設定して、イベントを起動します。

ハンドラコンポーネント

c:ceHandler ハンドラコンポーネントには、c:ceNotifier コンポーネントが含まれます。<aura:handler> タグでは、c:ceNotifier にある <aura:registerEvent> タグの name 属性である cmpEvent と同じ値が使用されます。これは、c:ceNotifier からバブルアップされたイベントを処理するための c:ceHandler を結び付けます。

イベントが起動されると、ハンドラコンポーネントのクライアント側コントローラで handleComponentEvent アクションが呼び出されます。

コントローラがイベントで送信されたデータを取得し、そのデータを使用してハンドラコンポーネントの messageFromEvent 属性を更新します。

すべてをまとめる

c:ceHandler コンポーネントを c:ceHandlerApp アプリケーションに追加します。アプリケーションに移動し、ボタンをクリックしてコンポーネントイベントを起動します。

https://<myDomain>.lightning.force.com/c/ceHandlerApp.app (<myDomain> はカスタム Salesforce ドメインの名前)

サーバ上のデータにアクセスする場合は、この例を拡張して、ハンドラのクライアント側コントローラからサーバ側コントローラをコールします。