wake-up-neo.com

Kann nicht an FormGroup binden, da es keine bekannte Eigenschaft von 'form' ist (FormsModule, ReactiveFormsModule geladen)

Ich habe gerade diese Frage gesehen, aber ich habe immer noch den gleichen Fehler. Ich habe ein gemeinsames Modul, das ich in mein Funktionsmodul importiere. Ich habe aber auch versucht, FormsModule, ReactiveFormsModule-Module direkt in mein Feature-Modul zu importieren.

Angular 2.0 Final Version.

Mein gemeinsames Modul ist:

import { CommonModule } from '@angular/common';
import { NgModule } from '@angular/core';
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
import { UPLOAD_DIRECTIVES } from 'ng2-uploader/ng2-uploader';


import { UploadComponent } from './upload/index';

import { AuthenticationService } from './services/index';

@NgModule({
  declarations: [ UploadComponent, UPLOAD_DIRECTIVES ],
  imports: [ CommonModule ],
  providers: [ AuthenticationService ],
  exports: [
    FormsModule,
    CommonModule,
    UploadComponent,
    ReactiveFormsModule
  ]
})

export class SharedModule { }

Mein Feature-Modul:

import { NgModule } from '@angular/core';

import { SharedModule } from '../shared/shared.module';

import { LoginComponent } from './login.component';

@NgModule({
  imports: [ SharedModule ],
  declarations: [ LoginComponent ],
  exports: [ LoginComponent ]
})

export class LoginModule {
  constructor() {}
}

Die Komponente:

import { Component } from '@angular/core';
import { FormGroup, FormControl, FormBuilder, Validators } from '@angular/forms';
import { AuthenticationService } from '../shared';

@Component({
  selector: 'pol-login',
  templateUrl: 'login.component.html'
})
export class LoginComponent {
  loginForm: FormGroup;
  notValidCredentials: boolean = false;
  showUsernameHint: boolean = false;

  constructor(
    fb: FormBuilder,
    private authenticationService: AuthenticationService) {

      this.loginForm = fb.group({
        username: ['', Validators.compose([Validators.required, this.emailValidator])],
        password: ['', Validators.required]
      });
...
}

Und die Aussicht:

<form class="container" (ngSubmit)="authenticate()" [ERROR ->][FormGroup]="loginForm">
....
</form>

Alle Pfade und Importe sind korrekt. Irgendwelche Ideen? Vielen Dank.

------ [Gelöst] -------

[FormGroup]="loginForm" für [formGroup]="loginForm" :( geändert

13
Javier RB

Lösung:

import { ReactiveFormsModule } from '@angular/forms'

Importieren Sie dieses Modul in app.module.ts oder in Ihre Komponentenklasse. (Empfohlen zum Import in app.module.ts).

Dann leiten Sie es ... ex: ---

imports: [
   ReactiveFormsModule
]
15
Deepak swain

Möglicherweise haben Sie das ReactiveFormsModule-Modul nicht in Ihre [yourmoduleName] .module.ts importiert

import { FormGroup, FormControl, FormBuilder, Validator, ReactiveFormsModule } from '@angular/forms';

und fügen Sie unten Ihre Komponente ein, wo Sie formBuilder oder formGroup verwenden

imports: [ReactiveFormsModule]

1
Gampesh