アプリケーション開発では、コンポーネントにデータを送信しなければならない場合があります。このデータは、コンポーネントをカスタマイズしたり、親コンポーネントから子コンポーネントに情報を送信したりするために使用できます。
Angularは、Input と呼ばれる概念を使用しています。これは、他のフレームワークの props と似ています。Input プロパティを作成するには、@Input デコレーターを使用します。
このアクティビティでは、@Input デコレーターを使用してコンポーネントに情報を送信する方法を学びます。
Input プロパティを作成するには、コンポーネントクラスのプロパティに @Input デコレーターを追加します。
user.component.ts
class UserComponent { @Input() occupation = '';}
Input を通じて値を渡す準備ができたら、属性構文を使用してテンプレートで値を設定できます。以下は例です。
app.component.ts
@Component({ ... template: `<app-user occupation="Angular Developer"></app-user>`})class AppComponent {}
UserComponent で occupationプロパティをバインドしていることを確認してください。
user.component.ts
@Component({ ... template: `<p>ユーザーの職業は {{occupation}} です。</p>`})
-
@Inputプロパティを定義するuser.component.tsのコードを更新して、UserComponentにnameというInputプロパティを定義します。今のところ、初期値を空文字列に設定します。テンプレートを更新して、文末にnameプロパティを補間することを忘れないでください。 -
@Inputプロパティに値を渡すapp.component.tsのコードを更新して、nameプロパティに"Simran"の値を送信します。コードが正常に更新されると、アプリケーションに
The user's name is Simranと表示されます。
これは素晴らしいことですが、コンポーネント通信の片方向だけです。子コンポーネントから親コンポーネントに情報とデータを送信したい場合はどうでしょうか?次のレッスンでその方法を学びましょう。
P.S. あなたは素晴らしいです - 頑張ってください 🎉