Angular の ngModel の使い方をメモしておきます。Angular v13 でのサンプルもダウンロード用に用意しました。サンプルを実行し、手元で動作を確認していただければと思います。
目次
ngModel とは
ngModel を利用することで、プロパティを双方向にバインディングすることができます。あるプロパティを TypeScript や HTML 上で変更すると、そのプロパティの変更が、バインド先にも通知されます。下記の様に、input 要素に ngModel を利用してプロパティをバインドすると、同じプロパティをインターポレーションで出力している個所にも変更が通知されます。

では、ngModel の利用方法を見ていきましょう。
1.app.module.ts
ngModel は angular/forms の FormsModule に含まれているので、FormsModule をインポートします。また、NgModule デコレータの imports で FormsModule をインポートします。
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { FormsModule } from '@angular/forms';//追加
import { AppComponent } from './app.component';
@NgModule({
declarations: [
AppComponent
],
imports: [
BrowserModule,
FormsModule//追加
],
providers: [],
bootstrap: [AppComponent]
})
export class AppModule { }
2.app.component.html
HTML テンプレートで ngModel に変数 name をバインドします。
<input type="text" [(ngModel)]="name">
{{name}}
3.app.component.ts
変数 name の初期値を設定します。
import { Component } from '@angular/core';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.scss']
})
export class AppComponent {
title = 'ngmodel-demo';
name = 'sasaki'; //追加
}
サンプル
Angular おすすめの学習リソース
Angular を網羅的に学習する上で、おすすめの学習リソースを紹介します。
書籍
書籍の場合、山田祥寛氏の書籍がおすすめです。
出版後、少し時間が経ちましたが、十分に活躍してくれます!網羅しているトピックが多いですので、まずは前半を読んで目的のアプリケーションを作り始めるくらいでいいと思います。その後、Angular に関する不明点が生じたタイミングで、本書籍を辞書代わりに使うくらいがちょうどよいです。
Udemy(動画コンテンツ)
動画コンテンツの場合、次の Udemy 講座がおすすめです!どちらも英語ではありますが、話すスピードは比較的ゆっくりですし、自動翻訳による英語字幕もありますので、多くの方にとって学習しやすいと思います!