I can't use the Reactive Forms inside my Angular 8 / Ionic 4 App. Everytime I got this Error:
core.js:9110 ERROR Error: Uncaught (in promise): Error: Template parse errors:
Can't bind to 'formGroup' since it isn't a known property of 'form'.
I try a few solutions from stack, but without a solution for me. Here is the Code I use:
My app.module
import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { RouteReuseStrategy } from '@angular/router';
import { HttpClientModule } from '@angular/common/http';
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
import { IonicModule, IonicRouteStrategy } from '@ionic/angular';
import { SplashScreen } from '@ionic-native/splash-screen/ngx';
import { StatusBar } from '@ionic-native/status-bar/ngx';
import { AppComponent } from './app.component';
import { AppRoutingModule } from './app-routing.module';
@NgModule({
declarations: [AppComponent],
entryComponents: [],
imports: [
BrowserModule,
FormsModule, ReactiveFormsModule, // Forms
HttpClientModule,
IonicModule.forRoot(),
AppRoutingModule
],
providers: [
StatusBar,
SplashScreen,
{ provide: RouteReuseStrategy, useClass: IonicRouteStrategy }
],
bootstrap: [AppComponent]
})
export class AppModule {}'
The Page HTML
<form [formGroup]="addGame" (ngSubmit)="onSubmit()">
<ion-item>
<ion-label>Name</ion-label>
<ion-input id="name" type="text" formControlName="name"></ion-input>
</ion-item>
<ion-item>
<ion-label>Title</ion-label>
<ion-input id="title" type="text" formControlName="title"></ion-input>
</ion-item>
<ion-item>
<ion-label>Url</ion-label>
<ion-input id="url" type="text" formControlName="url"></ion-input>
</ion-item>
<ion-item>
<ion-label>Game ID (Intern)</ion-label>
<ion-input id="gameid" type="text" formControlName="gameid"></ion-input>
</ion-item>
<ion-item>
<ion-label>Image</ion-label>
<ion-input id="image" type="text" formControlName="image"></ion-input>
</ion-item>
</form>
The Page.ts
import { Component, OnInit } from '@angular/core';
import { FormGroup, FormControl, Validators, FormBuilder } from '@angular/forms';
import { Router } from '@angular/router';
import { GamesService } from '../../services/games/games.service';
@Component({
selector: 'app-add-game',
templateUrl: './add-game.page.html',
styleUrls: ['./add-game.page.scss'],
})
export class AddGamePage implements OnInit {
addGame: FormGroup;
constructor(
private games: GamesService,
private route: Router,
formBuilder: FormBuilder
){
this.addGame = formBuilder.group({
name: [''],
title: [''],
url: [''],
gameid: [''],
image: ['']
});
}
ngOnInit() {
// ToDo : Add Vendor to form
console.log('add new game');
}
onSubmit(customerData) {
console.log(customerData);
}
}
I try this one: Can't bind to 'formGroup' since it isn't a known property of 'form' but still the same error.
What I do wrong?
Thanks in advance.