Public のプロパティ

公開プロパティを公開するには、フィールドを @api でデコレートします。公開プロパティではコンポーネントの API を定義します。テンプレートで使用される公開プロパティはリアクティブです。テンプレートで使用される公開プロパティの値が変更されると、コンポーネントは再表示されます。

コンポーネントが再表示されると、テンプレートで使用されている式が再評価され、renderedCallback() ライフサイクルフックが実行されます。

@api デコレータ

デコレータは、JavaScript 言語の機能です。@api デコレータは、Lightning Web コンポーネント独自のものです。1 つのフィールドには 1 つのデコレータのみを付加できます。

@api デコレータを lwc からインポートします。このコードは、itemName フィールドを公開プロパティとして提供します。

itemName の値はテンプレートに表示されます。

この JavaScript クラスと HTML テンプレートは、c-todo-item コンポーネント (c は名前空間) を定義します。c-todo-item コンポーネントを使用するコンポーネントは、itemName プロパティを設定できます。

JavaScript 内のプロパティ名はキャメルケースですが、HTML 属性名はケバブケース (ダッシュ区切り) になっており HTML 標準と一致します。todoApp.html では、マークアップ内の item-name 属性は、c-todo-itemitemName JavaScript プロパティに対応付けられます。

マークアップでコンポーネントを使用するオーナーコンポーネントは、DOM プロパティを介してコンポーネントの公開プロパティにアクセスできます。DOM プロパティは、クラスで宣言される公開フィールドです。これらは、DOM 要素を介してドット表記でアクセスできます。この例では、コンポーネント c-todo-item は公開フィールドを @api itemName として宣言しており、このフィールドの値には c-todo-item のインスタンス (DOM 要素) 上で DOM プロパティを介してアクセスできます。

lwc-recipes リポジトリの CompositionBasics の例を参照してください。

関連トピック