#angular #angular-reactive-forms #angular-forms
#angular #угловые реактивные формы #angular-forms
Вопрос:
Я впервые пытаюсь создать реактивную форму в Angular
Вот код :
import { Component, OnInit } from '@angular/core';
import { FormGroup, FormControl } from "@angular/forms";
@Component({
selector: 'app-username-password',
templateUrl: './username-password.component.html',
styleUrls: ['./username-password.component.scss']
})
export class UsernamePasswordComponent implements OnInit {
loginForm = new FormGroup({
userName : new FormControl("Ashish"),
password : new FormControl("")
});
// constructor() { }
ngOnInit() {
}
}
и HTML
<div class="container">
<h2>Login Form</h2>
<form [formGroup]="loginForm">
<label> User Name</label>
<input formControlName="userName" , type="text" , class="form-control">
</form>
{{loginForm.value | json}}
</div>
HTML ничего не отображает.
Есть ли в этом ошибка?
Я получаю эту ошибку в комментариях
С уважением, Ashish
Комментарии:
1.
<input formControlName="userName" , type="text" , class="form-control">
там не должно быть запятых. И даже после удаления запятых все еще не работает, можете ли вы проверить консоль на наличие ошибок2. Это не так. Даже после удаления comas это не работает. Даже если я прокомментирую ввод, должна отображаться хотя бы метка. Четная метка не отображается.
3. Да, вот оно. Я думаю, что вы не импортировали
ReactiveFormsModule
4. Почему отклонен ответ через один день, есть ли что-то не так в ответе?
Ответ №1:
Вам необходимо импортировать ReactiveFormsModule
в AppModule
или конкретный модуль, в котором находится ваш компонент
Например:
...
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
...
@NgModule({
imports: [
...,
ReactiveFormsModule,
...,
],
declarations: [...],
bootstrap: [AppComponent]
})
export class AppModule {}
Ответ №2:
Вы должны добавить ReactiveFormsModule
в свой app.module.ts
вот так:
import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { ReactiveFormsModule } from '@angular/forms';
@NgModule({
imports: [ BrowserModule, ReactiveFormsModule],
declarations: [ AppComponent ],
bootstrap: [ AppComponent ]
})
export class AppModule {
}
Ответ №3:
import { Component, OnInit } from '@angular/core';
import { FormGroup, FormControl } from "@angular/forms";
@Component({
selector: 'app-username-password',
templateUrl: './username-password.component.html',
styleUrls: ['./username-password.component.scss']
})
export class UsernamePasswordComponent implements OnInit {
loginForm: FormGroup;
// constructor() { }
ngOnInit() {
this.loginForm = new FormGroup({
userName : new FormControl("Ashish"),
password : new FormControl("")
});
}
}
Ответ №4:
Из-за ошибки мне кажется, что вы не импортировали ReactiveFormsModule
в свой модуль, который содержит этот компонент.