该错误通常发生在使用Angular表单控件时。要解决此错误,您可以使用非空断言运算符(!)来明确告诉TypeScript一个表单控件不会为空。例如:
component.ts文件中:
import { Component } from '@angular/core';
import { FormGroup, FormControl, Validators } from '@angular/forms';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent {
loginForm!: FormGroup;
ngOnInit(): void {
this.loginForm = new FormGroup({
email: new FormControl('', [Validators.required, Validators.email]),
password: new FormControl('', [Validators.required, Validators.minLength(6)])
})
}
get email() {
return this.loginForm.get('email')!;
}
get password() {
return this.loginForm.get('password')!;
}
submitLoginForm() {
console.log(this.loginForm.value);
}
}
在getters中使用非空断言运算符(!)解决此问题。此处告诉TypeScript表单控件不会为空并且可以正常使用。