首页 > 解决方案 > Angular 11-对象可能是“空”

问题描述

目前,我正在 Angular 中进行用户注册。这是我尝试比较密码和确认密码的部分代码:

comparePasswords(fb: FormGroup) {
let confirmPswrdCtrl = fb.get('ConfirmPassword');

if (confirmPswrdCtrl.errors == null || 'passwordMismatch' in confirmPswrdCtrl.errors) {
  if (fb.get('Password').value != confirmPswrdCtrl.value)
    confirmPswrdCtrl.setErrors({ passwordMismatch: true });
  else
    confirmPswrdCtrl.setErrors(null);
 }
}

问题是 Angular 警告我confirmPswrdCtrl,它可能为空:

错误 TS2531:对象可能为“空”。

出了什么问题,我该如何解决?提前致谢。

标签: angulartypescript

解决方案


你需要让打字稿知道它在那里。最简单的方法是:

let confirmPswrdCtrl = fb.get('ConfirmPassword') as FormControl;

推荐阅读