[英]Can't use formGroup in my angular project
我嘗試在我的 angular 項目中使用 formGroup,但它返回錯誤:
無法綁定到“formGroup”,因為它不是“form”的已知屬性。
我已將 FormsModule 和 ReactiveFormsModule 導入到我的 auth.module 和 app.module 中,但我似乎無法解決我的錯誤。 我希望有人會好心幫助我,拜托。
HTML
<form [formGroup]="form" (submit)="submit()">
<div class="input-field">
<input id="username" formControlName="username" type="text" required>
<label for="username">Username</label>
</div>
<div class="input-field">
<input id="email" formControlName="email" type="text" required>
<label for="email">Email</label>
</div>
<div class="input-field">
<input id="password" formControlName="password" type="password" required>
<label for="password">Mot de passe</label>
</div>
<div class="button-form">
<button class="custom-btn btn-sign-in" type="submit">S'inscire</button>
</div>
</form>
認證模塊
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { LoginComponent } from './login/login.component';
import { RegisterComponent } from './register/register.component';
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
import { HttpClientModule } from '@angular/common/http';
@NgModule({
declarations: [
LoginComponent,
RegisterComponent
],
imports: [
CommonModule,
HttpClientModule,
FormsModule,
ReactiveFormsModule
],
})
export class AuthModule { }
應用模塊
import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { AppRoutingModule, routingComponents } from './app-routing.module';
import { AppComponent } from './app.component';
import { HttpClientModule, HttpClient, HTTP_INTERCEPTORS } from '@angular/common/http';
import { MainComponent } from './pages/main/main.component';
import { CommonModule } from '@angular/common';
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
@NgModule({
declarations: [
AppComponent,
routingComponents,
MainComponent
],
imports: [
CommonModule,
BrowserModule,
AppRoutingModule,
HttpClientModule,
FormsModule,
ReactiveFormsModule
],
providers: [],
bootstrap: [AppComponent]
})
export class AppModule { }
注冊.component
import { Component, OnInit } from '@angular/core';
import { FormBuilder, FormGroup, FormControl, Validators} from '@angular/forms';
import { Router } from '@angular/router';
@Component({
selector: 'app-register',
templateUrl: './register.component.html',
styleUrls: ['./register.component.scss']
})
export class RegisterComponent implements OnInit {
form: FormGroup;
constructor(
private router: Router,
private formBuilder: FormBuilder
) { }
ngOnInit(): void {
this.form = this.formBuilder.group({
username: '',
email: '',
password: ''
});
}
submit(): void{
console.log(this.form.getRawValue());
}
btnClick() {
this.router.navigate(['/login']);
}
}
這可能是一個導入問題:如果您在另一個模塊中使用RegisterComponent
,請務必將RegisterComponent
添加到AuthModule
的導出中
另外值得注意的是,將FormsModule
和ReactiveFormsModule
導入AppModule
使其在整個應用程序中可用
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.