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

イベントハンドラの動的な追加

コンポーネントから起動されるイベントのハンドラを動的に追加できます。コンポーネントは、クライアント側で動的に作成することも、実行時にサーバから取得することもできます。

次のサンプルコードでは、イベントハンドラを docsample:sampleComponent のインスタンスに追加します。

1swfobject.registerObject("clippy.codeblock-0", "9");
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17addNewHandler : function(cmp, event) {
18    var cmpArr = cmp.find({ instancesOf : "docsample:sampleComponent" });
19    for (var i = 0; i < cmpArr.length; i++) {
20        var outputCmpArr = cmpArr[i];
21        outputCmpArr.addHandler("someAction", cmp, "c.someAction");
22    }
23}

$A.createComponent() のコールバック関数で動的に作成されたコンポーネントにイベントハンドラを追加することもできます。詳細は、コンポーネントの動的な作成を参照してください。

addHandler() により、イベントハンドラがコンポーネントに追加されます。

コンポーネントから起動しないイベントを、強制的に起動することはできません。c.someAction は、コンポーネントの階層の 1 つのコントローラに含まれるアクションです。someAction はイベント名、cmp は値の取得元を参照します。someAction は、aura:registerEvent タグや aura:handler タグの name 属性の値と一致している必要があります。メソッドおよび引数の完全なリストについては、JavaScript API リファレンスを参照してください。