TypeScript-'s Angular Framework Error - "There is no directive with exportAs set to ngForm"
Solution 1:
import { FormsModule } from '@angular/forms';
@NgModule({
imports: [
BrowserModule,
FormsModule //<----------make sure you have added this.
],
....
})
Solution 2:
You have to import FormsModule
into not only the root AppModule, but also into every subModule that uses any angular forms directives.
// SubModule A
import { CommonModule } from '@angular/common';
import { FormsModule } from '@angular/forms';
@NgModule({
imports: [
CommonModule,
FormsModule //<----------make sure you have added this.
],
....
})
Solution 3:
I have added ReactiveFormsModule
in imports[]
array to resolve this error.
Error: There is no directive with "exportAs" set to "ngForm" ("
Fix:
module.ts:
import {FormsModule, ReactiveFormsModule} from '@angular/forms'
imports: [
BrowserModule,
FormsModule ,
ReactiveFormsModule
],
Solution 4:
import { FormsModule } from '@angular/forms';
@NgModule({
imports: [FormsModule],
...
})
Solution 5:
(Just in case someone else is blind like me)
form
FTW! Make sure to use <form>
tag
wont work:
<div (ngSubmit)="search()" #f="ngForm" class="input-group">
<span class="input-group-btn">
<button class="btn btn-secondary" type="submit">Go!</button>
</span>
<input type="text" ngModel class="form-control" name="search" placeholder="Search..." aria-label="Search...">
</div>
works like charm:
<form (ngSubmit)="search()" #f="ngForm" class="input-group">
<span class="input-group-btn">
<button class="btn btn-secondary" type="submit">Go!</button>
</span>
<input type="text" ngModel class="form-control" name="search" placeholder="Search..." aria-label="Search...">
</form>