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

コンポーネントイベント

コンポーネントイベントは、コンポーネントのインスタンスから起動されます。コンポーネントイベントは、イベントを起動したコンポーネント、またはコンテインメント階層内のバブルイベントを受信するコンポーネントによって処理されます。

カスタムコンポーネントイベントを作成する

カスタムコンポーネントイベントは、.evt リソースの <aura:event> タグを使用して作成できます。イベントには、そのイベントの起動前に設定可能で、処理時に読み取り可能な属性を含められます。

コンポーネントイベントの場合は、<aura:event> タグに type="COMPONENT" を使用します。たとえば、docsample:compEvent コンポーネントイベントには message 属性が 1 つ設定されています。

1<!--docsample:compEvent-->
2<aura:event type="COMPONENT">
3    <!-- add aura:attribute tags to define event shape.
4      One sample attribute here -->
5    <aura:attribute name="message" type="String"/>
6</aura:event>

イベントを処理するコンポーネントは、イベントデータを取得できます。このイベントの属性を取得するには、ハンドラのクライアント側コントローラで event.getParam("message") をコールします。

コンポーネントイベントを登録する

コンポーネントは、マークアップに <aura:registerEvent> を使用して、イベントを起動できるように登録します。次に例を示します。

1<aura:registerEvent name="sampleComponentEvent" type="docsample:compEvent"/>

ここでは、イベントを起動して処理する場合に name 属性の値がどのように使用されるかを確認します。

コンポーネントイベントを起動する

JavaScript でコンポーネントイベントへの参照を取得するには、getEvent("evtName") を使用します。この evtName は、<aura:registerEvent>name 属性と一致します。fire() を使用して、コンポーネントのインスタンスからイベントを起動します。たとえば、クライアント側コントローラの次のアクション関数でイベントを起動します。

1var compEvent = cmp.getEvent("sampleComponentEvent");
2// Optional: set some data for the event (also known as event shape)
3// compEvent.setParams({"myParam" : myValue });
4compEvent.fire();

コンポーネントイベントのソースを取得する

ハンドラコンポーネントで、JavaScript の evt.getSource() を使用して、どのコンポーネントがコンポーネントイベントを起動したかを確認します。ここで、evt はイベントへの参照です。ソース要素を取得するには、evt.getSource().getElement() を使用します。