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

インターフェース

インターフェースは、実装するコンポーネントに含まれる属性、イベント、メソッドを定義することによりコンポーネントの形状を定義します。インターフェースを使用するには、コンポーネントでインターフェースを実装する必要があります。インターフェースはマークアップで直接使用できません。

インターフェースは、<aura:interface> タグで始まり、次のタグを含めることができます。

<aura:attribute>
このタグは、属性を定義します。インターフェースには 0 個以上の属性を設定できます。

インターフェースから継承する属性の値を設定するには、サブコンポーネントで <aura:attribute> を使用して属性を再定義し、そのデフォルト属性の値を設定します。コンポーネントを拡張すると、サブコンポーネントで <aura:set> を使用して、スーパーコンポーネントから継承する属性の値を設定できます。ただし、インターフェースから継承された属性の場合、このように <aura:set> を使用することはできません。

メモ

<aura:registerEvent>
このタグは、インターフェースを実装するコンポーネントから起動できるイベントを登録します。インターフェースにはイベントを起動するロジックはありません。イベントを起動するコードは、インターフェースを実装するコンポーネントにあります。
<aura:method>
このタグは、インターフェースを実装するコンポーネントの API の一部としてメソッドを定義します。インターフェースにはメソッドのロジックはありません。メソッドのロジックは、インターフェースを実装するコンポーネントにあります。

インターフェースでは、マークアップ、レンダラ、コントローラなどを使用できません。

インターフェースの実装

インターフェースを実装するには、<aura:component> タグの implements システム属性を、実装するインターフェースの名前に設定します。次に例を示します。

1<aura:component implements="mynamespace:myinterface" >

コンポーネントは、インターフェースを実装し、別のコンポーネントを拡張できます。

1<aura:component extends="ns1:cmp1" implements="ns2:intf1" >

インターフェースは、カンマ区切りのリストを使用した複数のインターフェースを拡張できます。

1<aura:interface extends="ns:intf1,ns:int2" >

抽象コンポーネントのコンテンツには制限が少ないため、インターフェースより一般的です。コンポーネントでは、複数のインターフェースを実装できますが、抽象コンポーネントは 1 つしか拡張できないため、一部の設計パターンではインターフェースのほうが便利です。

インターフェースの例を次に示します。

1<aura:interface>
2    <aura:attribute name="value" type="String"/>
3
4    <aura:registerEvent name="onItemSelected" type="ui:response"
5      description="The event fired when the user selects an item" />
6
7    <aura:method name="methodFromInterface">
8        <aura:attribute name="stringAttribute" type="String" default="default string"/>
9    </aura:method>
10</aura:interface>