では、スクリプトができたところで、テンプレート側を完成させましょう。下のリスト欄に、
AppComponent.htmlのサンプルを掲載しておきました。
ここでは、前回までと同様、
<h1>タグと
<p>タグをそのまま用意してあります。
<p>には、
{{msg}}として、
msgの値を表示するようにしています。これは、
AppComponentクラスにあった
msgプロパティです。
フォームは、非常に重要な記述が2箇所あります。1つ目は、
<input type="text">に用意してある、[
(ngModel)]という属性です。これは、この項目に設定されるモデルのプロパティを示します。
ここでは、
model.text1としていますね?
modelは、
AppComponentクラスにあった
modelプロパティです。このプロパティに保管されている
MyModelインスタンスの
text1プロパティを、この項目に割り当てているわけです。これにより、この入力フィールドに記入される値(
value属性値)と
MyModelの
text1プロパティが相互にバインドされます。
■イベントへの割当
もう1つのポイントは、プッシュボタンへのイベント割当です。これは、
(click)="onSubmit();" というように属性が用意されています。イベント関係の属性は、このように
(イベント)という形で記述します。ここで、先ほど
AppComponentに用意した
onSubmitメソッドを呼び出しているのです。
これで、コンポーネントは完成しました。実際にページにアクセスして動作を確認してみましょう。入力フィールドに名前を書いてボタンをクリックすると、「こんにちは、○○さん!」とメッセージが表示されますよ。