Search code examples
angularangular2-formsangular2-directives

Getting Error: Can't bind to 'ngModel' since it isn't a known property of 'input' despite importing FormsModule


I have imported FormsModule in my app.module.ts but I am still getting this error.

Can't bind to 'ngModel' since it isn't a known property of 'input'

I have gone through similar posts but still I am unable to find a solution for this.

app.module.ts

 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
  ],
  providers: [],
  bootstrap: [AppComponent]
})
export class AppModule { }

app.component.ts

import { Component } from '@angular/core';
import {FormsModule} from '@angular/forms';
import {NgModule  } from "@angular/core";
import { BrowserModule } from '@angular/platform-browser';

@NgModule({
  imports: [BrowserModule, FormsModule],
  declarations: [ 
    AppComponent
  ],
  bootstrap: [AppComponent]
  })

@Component({
  selector: 'app-root',
  templateUrl: './app.component.html'


})
export class AppComponent {
}

app.component.html

<input type=radio name="gender" value="Mr" [(ngModel)]="gender">Male
<input type=radio name="gender" value="Mrs" [(ngModel)]="gender">Female
{{"Hello " + gender}}

Solution

  • Try like this :

    app.module.ts

    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: [
            FormsModule,
            BrowserModule
        ],
        providers: [],
        bootstrap: [AppComponent]
    })
    export class AppModule { }
    

    app.component.ts

    import { Component } from '@angular/core';
    
    @Component({
        selector: 'app-root',
        templateUrl: './app.component.html'
    })
    export class AppComponent {
        gender: string;
    }
    

    app.component.html

    <input type=radio name="gender" value="Mr" [(ngModel)]="gender">Male
    <input type=radio name="gender" value="Mrs" [(ngModel)]="gender">Female
    {{"Hello " + gender}}