No Results
Search Tips:
- Please consider misspellings
- Try different search keywords
アプリケーションイベントの例
- ユーザがノーティファイアコンポーネント aeNotifier.cmp のボタンをクリックします。
- aeNotifier.cmp のクライアント側コントローラが、コンポーネントイベントにメッセージを設定し、イベントを起動します。
- ハンドラコンポーネント aeHandler.cmp が、起動されたイベントを処理します。
- aeHandler.cmp のクライアント側コントローラが、イベントで送信されたデータに基づいて aeHandler.cmp の属性を設定します。
この例のイベントおよびコンポーネントは、docsample 名前空間にあります。この名前空間は特別なものではありませんが、コードの数か所で参照されます。必要に応じて、別の名前空間を使用するようにコードを変更します。
アプリケーションイベント
aeEvent.evt
次のアプリケーションイベントには属性が 1 つ設定されています。この場合は、起動時にこの属性を使用してイベントに一定のデータを渡します。
ノーティファイアコンポーネント
aeNotifier.cmp
ノーティファイアコンポーネントは aura:registerEvent を使用して、アプリケーションイベントを起動する可能性があることを宣言します。name 属性は必須ですが、アプリケーションイベントでは使用されません。name 属性が関係するのは、コンポーネントイベントのみです。
コンポーネントのボタンには、press ブラウザイベントがあり、クライアント側コントローラの fireApplicationEvent アクションに結び付けられています。このボタンをクリックすると、アクションが呼び出されます。
aeNotifierController.js
クライアント側コントローラが、$A.get("e.docsample:aeEvent") をコールして、イベントのインスタンスを取得します。このコントローラがイベントの message 属性を設定して、イベントを起動します。
ハンドラコンポーネント
aeHandler.cmp
ハンドラコンポーネントは、<aura:handler> タグを使用して、ハンドラコンポーネントがアプリケーションイベントを処理することを登録します。
イベントが起動されると、ハンドラコンポーネントのクライアント側コントローラで handleApplicationEvent アクションが呼び出されます。
aeHandlerController.js
コントローラがイベントで送信されたデータを取得し、そのデータを使用してハンドラコンポーネ���トの messageFromEvent 属性を更新します。
コンテナコンポーネント
aeContainer.cmp
コンテナコンポーネントには、ノーティファイアコンポーネントとハンドラコンポーネントが含まれます。この点は、ハンドラにノーティファイアコンポーネントが含まれるコンポーネントイベントの例とは異なります。
すべてをまとめる
このコードをテストする場合は、リソースをサンプルアプリケーションに追加して、コンテナコンポーネントに移動します。たとえば、docsample アプリケーションがある場合は、次のアドレスに移動します。
http://<mySalesforceInstance>/<namespace>/docsample/aeContainer.cmp (mySalesforceInstance は、na1.salesforce.com など、組織をホストするインスタンスの名前です)。
サーバ上のデータにアクセスする場合は、この例を拡張して、ハンドラのクライアント側コントローラからサーバ側コントローラをコールします。