2016-09-23 2 views
12

Ich habe gerade question gesehen, aber ich habe immer noch den gleichen Fehler. Ich habe ein geteiltes Modul, das ich in mein Feature-Modul importiere. Aber ich habe auch versucht, FormsModule, ReactiveFormsModule Module zu meinem Feature-Modul direkt zu importieren.Kann nicht an FormGroup binden, da es keine bekannte Eigenschaft von 'form' ist (FormsModule, ReactiveFormsModule geladen)

Angular 2.0 Endgültige Version.

My Shared-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 { } 

My-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" Changed für [formGroup]="loginForm" :(

+4

Ändern Sie es in '[FormGroup]' (CamelCase, nicht PascalCase) und sehen, was als nächstes passiert? –

+0

Danke Harry. Das Modul @angular .... forms hat kein exportiertes Mitglied '' 'formGroup'''. –

+0

Tut mir leid Harry. Ja es funktioniert. Ich habe es auf dem Modul geändert, nicht in Sicht. Sorry und vielen Dank :) –

Antwort

14

Lösung:

import { ReactiveFormsModule } from '@angular/forms' 

Import dieses Modul zu App. module.ts oder Ihre Component Class. (Empfohlen, in app.module.ts zu importieren.)

Dann Direct es ... ex: - -

imports: [ 
    ReactiveFormsModule 
] 
+0

Ich importiere bereits in app.module.ts, aber immer noch den gleichen Fehler. – Chaudhary

+0

Bitte kommentieren Sie mit folgenden Details: Welche Version des eckigen Projekts arbeiten Sie? Erhalten Sie Probleme bei der Verwendung von FormGroup im Material Dialog? –

0

Mai werden Sie ReactiveFormsModule Modul zu Ihrem [yourmoduleName] .module.ts

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

und fügen Sie unten importieren Sie Ihre Komponente importieren verpasst, wo Sie oder Formbuilder formGroup

imports: [ReactiveFormsModule] verwenden

Verwandte Themen