Właśnie widziałem ten question, ale nadal mam ten sam błąd. Mam wspólny moduł, który importuję do mojego modułu funkcji. Ale spróbowałem bezpośrednio importować moduły FormsModule
, ReactiveFormsModule
do mojego modułu funkcji.Nie można powiązać z FormGroup, ponieważ nie jest to znana właściwość "formularza" (formularz FormsModule, załadowany moduł ReactiveFormsModul)
Angular 2.0 Wersja ostateczna.
Mój wspólny moduł jest:
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 { }
Mój moduł cecha:
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() {}
}
Komponent:
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]
});
...
}
I widok:
<form class="container" (ngSubmit)="authenticate()" [ERROR ->][FormGroup]="loginForm">
....
</form>
Wszystkie ścieżki i import są poprawne. Jakieś pomysły? Dzięki.
------ [ROZWIĄZANIA] -------
Zmienione [FormGroup]="loginForm"
do [formGroup]="loginForm"
:(
Zmień to na '[formGroup]' (camelCase, nie PascalCase) i zobacz, co stanie się dalej? –
Dzięki Harry. W formularzu Module @angular .... nie ma wyeksportowanego elementu '' 'formGroup'''. –
Przepraszam Harry. Tak to działa. Zmieniłem go w module, a nie w widoku. Przepraszam i dziękuję bardzo :) –