Angular 错误 TS2564 属性 'formGroup' 没有初始化器
Angular error TS2564 Property 'formGroup' has no initializer
formGroup: FormGroup;
constructor(private formBuilder: FormBuilder) { }
ngOnInit() {
this.createForm();
}
createForm() {
this.formGroup = this.formBuilder.group({
'username': ['', Validators.required],
'password': ['', Validators.required],
});
}
getError(el) {
switch (el) {
case 'user':
if (this.formGroup.get('username').hasError('required')) {
return 'login is required';
}
break;
case 'pass':
if (this.formGroup.get('password').hasError('required')) {
return 'password is required';
}
break;
default:
return '';
}
}
登录 Angular 应用程序
错误 TS2564: 属性 'formGroup' 没有初始化器,在构造函数中没有明确赋值。
我该如何解决?
这跟严格初始化有关
- 添加!要知道这没有初始化:
formGroup!: FormGroup;
- 添加 |undefined 作为附加类型 :
formGroup: FormGroup | undefined
您可以使用非空断言运算符来防止类型检查器抛出错误
formGroup!: FormGroup;
或
将所有 formGroup 初始化移到顶层
formGroup = this.formBuilder.group({
'username': ['', Validators.required],
'password': ['', Validators.required],
});
constructor(private formBuilder: FormBuilder) { }
ngOnInit() {
}
formGroup: FormGroup;
constructor(private formBuilder: FormBuilder) { }
ngOnInit() {
this.createForm();
}
createForm() {
this.formGroup = this.formBuilder.group({
'username': ['', Validators.required],
'password': ['', Validators.required],
});
}
getError(el) {
switch (el) {
case 'user':
if (this.formGroup.get('username').hasError('required')) {
return 'login is required';
}
break;
case 'pass':
if (this.formGroup.get('password').hasError('required')) {
return 'password is required';
}
break;
default:
return '';
}
}
登录 Angular 应用程序
错误 TS2564: 属性 'formGroup' 没有初始化器,在构造函数中没有明确赋值。
我该如何解决?
这跟严格初始化有关
- 添加!要知道这没有初始化:
formGroup!: FormGroup;
- 添加 |undefined 作为附加类型 :
formGroup: FormGroup | undefined
您可以使用非空断言运算符来防止类型检查器抛出错误
formGroup!: FormGroup;
或
将所有 formGroup 初始化移到顶层
formGroup = this.formBuilder.group({
'username': ['', Validators.required],
'password': ['', Validators.required],
});
constructor(private formBuilder: FormBuilder) { }
ngOnInit() {
}