【发布时间】:2021-03-23 16:02:58
【问题描述】:
在尝试使用如下所示的登录表单运行 Angular 应用程序时,它会引发错误:
src/app/pages/auth/login/login.component.ts:12:3 - 错误 TS2564: 属性“loginForm”没有初始化程序,也没有明确分配 在构造函数中。
import { Component, OnInit } from '@angular/core';
import { FormControl, FormGroup, Validators } from '@angular/forms';
import { AuthService } from '../../../services/auth.service';
@Component({
selector: 'app-login',
templateUrl: './login.component.html',
styleUrls: ['./login.component.css']
})
export class LoginComponent implements OnInit {
loginForm: FormGroup;
constructor(private authService: AuthService) {}
ngOnInit() {
this.loginForm = new FormGroup({
email: new FormControl('', {
validators: [Validators.required, Validators.email]
}),
password: new FormControl('', { validators: [Validators.required] })
});
}
onSubmit() {
this.authService.login({
email: this.loginForm.value.email,
password: this.loginForm.value.password
});
console.log("logging in...");
}
}
有谁知道初始化 FormGroup 的正确方法是什么?
【问题讨论】:
-
这个问题也适合我,我将 formGroup 初始化移到构造函数并工作。
-
form: FormGroup = new FormGroup({ ....})这将解决问题。之后使用this.form
标签: angular