force:hasSObjectName
現在のレコードのオブジェクトの API 参照名をコンポーネントで認識する必要がある場合は、force:hasSObjectName インターフェースを Lightning コンポーネントに追加します。コンポーネントでさまざまな sObject 型のレコードを使用する場合は、sObject 名が便利です。このインターフェースは、Lightning Experience、Salesforce1、およびテンプレートベースのコミュニティ内で使用される場合以外は影響しません。
このインターフェースはマーカーインターフェースです。マーカーインターフェースは、インターフェースの動作をコンポーネントに追加するよう伝える、コンポーネントのコンテナへの信号です。コンポーネントに特定のメソッドまたは属性を実装する必要はありません。コンポーネントの implements 属性にインターフェース名を追加するだけです。
このインターフェースは、sObjectName という名前の属性をコンポーネントに追加します。この属性は文字列型であり、その値は Account や myNamespace__myObject__c のようなオブジェクトの API 名です。この例を次に示します。
1<aura:attribute name="sObjectName" type="String" />sObjectName 属性は、レコードのコンテキストでコンポーネントを配置または呼び出す場合にのみ設定されます。たとえば、レコードページにコンポーネントを配置する場合、またはレコードページやオブジェクトホームからコンポーネントをアクションとして呼び出す場合などがこれに該当します。その他の場合 (このコンポーネントをプログラムで別のコンポーネント内に作成する場合など)、sObjectName は設定されないため、コンポーネントでこれを使用しないでください。
例
次の例に、force:hasSObjectName インターフェースを Lightning コンポーネントに追加するために必要なマークアップを示します。
1<aura:component implements="force:lightningQuickAction,force:hasSObjectName">
2
3 <!-- ... -->
4
5</aura:component>コンポーネントのコントローラは、component.get("v.sObjectName") を使用して、recordId 属性から現在のレコードの ID にアクセスできます。recordId 属性は、force:hasSObjectName インターフェースによって自動的にコンポーネントに追加されます。