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

aura:method

<aura:method> を使用して、コンポーネントの API の一部としてメソッドを定義します。これにより、コンポーネントイベントを起動して処理する代わりに、コンポーネントのクライアント側コントローラからメソッドを直接コールできるようになります。<aura:method> を使用すると、親コンポーネントに含まれる子コンポーネントのメソッドをコールする場合に、親コンポーネントに必要なコードが簡略化されます。

<aura:method> タグには、次のシステム属性があります。

属性 説明
name String メソッド名。メソッド名を使用して、JavaScript コードのメソッドをコールします。以下に例を示します。
1cmp.sampleMethod(param1);
action Expression 実行するクライアント側のコントローラアクション。以下に例を示します。
1action="{!c.sampleAction}"

sampleAction はクライアント側コントローラのアクションです。action の値を指定しない場合、コントローラアクションは、デフォルトのメソッドの name の値に設定されます。

access String メソッドのアクセス制御。有効な値は、次のとおりです。
  • public — 同じ名前空間のコンポーネントはメソッドをコールできます。これはデフォルトのアクセスレベルです。
  • global — どの名前空間のコンポーネントもメソッドをコールできます。
description String メソッドの説明。

パラメータの宣言

<aura:method> には、必要に応じてパラメータを含めることができます。<aura:method> 内で <aura:attribute> タグを使用して、メソッドのパラメータを宣言します。以下に例を示します。

1<aura:method name="sampleMethod" action="{!c.doAction}" 
2  description="Sample method with parameters"> 
3    <aura:attribute name="param1" type="String" default="parameter 1"/> 
4    <aura:attribute name="param2" type="Object" /> 
5</aura:method>

パラメータの <aura:attribute> タグに access システム属性は必要ありません。

メモ

ハンドラアクションの作成

このハンドラアクションでは、メソッドに渡される引数へのアクセス方法を示します。

1({
2    doAction : function(cmp, event) {
3        var params = event.getParam('arguments');
4        if (params) {
5            var param1 = params.param1;
6            // add your code here
7        }
8    }
9})

event.getParam('arguments') を使用して引数を取得します。引数がある場合はオブジェクト、引数がない場合は空の配列が返されます。

戻り値

aura:method は同期して実行されます。

  • 同期メソッドは、返す前に実行を終了します。同期 JavaScript コードから値を返すには、return ステートメントを使用します。「同期コードの結果を返す」を参照してください。
  • 非同期メソッドは返した後も実行を続ける場合があります。非同期 JavaScript コードから値を返すには、コールバックを使用します。「非同期コードの結果を返す」を参照してください。