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'; //追加 }
コメント