Aura.Action 属性型の使用
Aura.Action は、フレームワーク内のアクションへの参照です。子コンポーネントに Aura.Action 属性がある場合、親コンポーネントは、マークアップで子コンポーネントをインスタンス化するときに、ハンドラのアクションを渡すことができます���このパターンは、親コンポーネントから、その親に含まれる子コンポーネントへコントローラアクションを渡すショートカットであり、onclick などの on* ハンドラに使用されます。
例
この例は、親コンポーネントから子コンポーネントへアクションハンドラを渡す方法を示しています。
Aura.Action 属性を使用する子コンポーネントを次に示します。ボタンの onclick ハンドラは、onclick 属性の値を使用し、その型は Aura.Action です。
1<!-- child.cmp -->
2<aura:component>
3 <aura:attribute name="onclick" type="Aura.Action"/>
4
5 <p>Child component with Aura.Action attribute</p>
6 <lightning:button label="Execute the passed action" onclick="{!v.onclick}"/>
7</aura:component>マークアップに子コンポーネントを含む親コンポーネントを次に示します。
1<!-- parent.cmp -->
2<aura:component>
3 <p>Parent component passes handler action to c:child</p>
4 <c:child onclick="{!c.parentAction}"/>
5</aura:component>c:child のボタンをクリックすると、c:parent のコントローラの parentAction アクションが実行されます。
Aura.Action 属性の代わりに、<aura:registerEvent> を使用して子コンポーネントに onclick イベントを登録することもできます。その場合、イベントを定義し、イベントを起動するアクションを子のコントローラに作成する必要があります。このイベントベースのアプローチは、いくつか追加のステップを必要としますが、コンポーネント間の通信の標準的な手法に従うものです。