コンポーネントメソッドのコール
コンポーネント間の通信
コンテインメント階層の下位と通信するには、aura:method を使用します。たとえば親コンポーネントで、その親に含まれる子コンポーネントの aura:method をコールします。
コンテインメント階層の上位と通信するには、子コンポーネントでコンポーネントイベントを起動し、そのイベントを親コンポーネントで処理します。
構文
次の構文を使用して、JavaScript コードのメソッドをコールします。
1cmp.sampleMethod(arg1, … argN);cmp は、コンポーネントへの参照です。
sampleMethod は、aura:method の名前です。
arg1, … argN は、メソッドに渡される引数の省略可能なカンマ区切りのリストです。各引数は、aura:method マークアップで定義された aura:attribute に対応します。
継承されたメソッドの使用
スーパーコンポーネントを拡張するサブコンポーネントは、スーパーコンポーネントで定義されたメソッドにアクセスできます。
インターフェースに <aura:method> タグを含めることもできます。このインターフェースを実装するコンポーネントは、このメソッドにアクセスできます。
例
アプリケーションの例を見てみましょう。
1<!-- c:auraMethodCallerWrapper.app -->
2<aura:application >
3 <c:auraMethodCaller />
4</aura:application>c:auraMethodCallerWrapper.app には c:auraMethodCaller コンポーネントが含まれます。
1<!-- c:auraMethodCaller.cmp -->
2<aura:component >
3 <p>Parent component calls aura:method in child component</p>
4 <c:auraMethod aura:id="child" />
5
6 ...
7</aura:component>c:auraMethodCaller は親コンポーネントです。c:auraMethodCaller には子コンポーネント c:auraMethod が含まれます。
c:auraMethodCaller を使用して c:auraMethod で定義された aura:method をコールする方法について説明します。
c:auraMethodCallerWrapper.app を使用して、同期コードと非同期コードの結果を返す方法を確認します。