イベントハンドラの動的な追加
コンポーネントから起動されるイベントのハンドラを動的に追加できます。コンポーネントは、クライアント側で動的に作成することも、実行時にサーバから取得することもできます。
次のサンプルコードでは、イベントハンドラを docsample:sampleComponent のインスタンスに追加します。
1addNewHandler : function(cmp, event) {
2 var cmpArr = cmp.find({ instancesOf : "docsample:sampleComponent" });
3 for (var i = 0; i < cmpArr.length; i++) {
4 var outputCmpArr = cmpArr[i];
5 outputCmpArr.addHandler("someAction", cmp, "c.someAction");
6 }
7}$A.createComponent() のコールバック関数で動的に作成されたコンポーネントにイベントハンドラを追加することもできます。詳細は、「コンポーネントの動的な作成」を参照してください。
addHandler() により、イベントハンドラがコンポーネントに追加されます。
コンポーネントから起動しないイベントを、強制的に起動することはできません。c.someAction は、コンポーネントの階層の 1 つのコントローラに含まれるアクションです。someAction はイベント名、cmp は値の取得元を参照します。someAction は、aura:registerEvent タグや aura:handler タグの name 属性の値と一致している必要があります。メソッドおよび引数の完全なリストについては、JavaScript API リファレンスを参照してください。