コンポーネントでのオブジェクトコンテキストの認識

objectApiName プロパティが設定されたコンポーネントが Lightning レコードページで使用されている場合、ページでそのプロパティが現在のオブジェクトの API 参照名に設定されます。

コンポーネントの JavaScript クラスで、@api デコレータを使用して公開 objectApiName プロパティを作成します。

1// testClass.js
2import { LightningElement, api } from "lwc";
3export default class TestClass extends LightningElement {
4  @api objectApiName;
5}

Lightning Experience またはモバイルアプリケーションのレコードコンテキストでコンポーネントを呼び出すと、objectApiNameWarehouse__c など、参照しているレコードに関連付けられたオブジェクトの API 参照名に設定されます。

objectApiName は、明示的なレコードコンテキストでコンポーネントを配置または呼び出す場合にのみ設定されます。その他の場合、objectApiName は設定されないため、コンポーネントでこれを使用しないでください。

Important

エクスペリエンスビルダーサイトでのオブジェクトコンテキストへのアクセス 

エクスペリエンスビルダーサイトは、objectApiName をコンポーネントのテンプレートに自動的にバインドしません。

コンポーネントでこの目標を達成するには、コンポーネントの *.js-meta.xml ファイルの式に objectApiName を追加します。targets パラメータで指定されたすべてのページ種別は、オブジェクト名にアクセスできます。

この方法は、{!objectApiName} がルートに含まれているコンポーネントのみで使用できます。

Note

1<targetConfigs>
2  <targetConfig targets="lightningCommunity__Default">
3    <property
4      name="objectApiName"
5      type="String"
6      label="Object Name"
7      description="Automatically bind the page's object name to the component variable"
8      default="{!objectApiName}"
9    />
10  </targetConfig>
11</targetConfigs>

エクスペリエンスビルダーサイトのオブジェクトコンテキストでコンポーネントを呼び出すと、式 objectApiName はオブジェクトの 18 文字 ID に設定されます。

関連トピック

The Japanese Summer '24 guide is now live

日本語の Summer '24 ガイドが公開されました! 「Component Reference (コンポーネントリファレンス)」は、以前と同様にコンポーネントライブラリにあります。