Angular ngModel ディレクティブの使い方

スポンサーリンク

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'; //追加
}

サンプル

コメント

タイトルとURLをコピーしました