angular - 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:对象可能为“空”。
出了什么问题,我该如何解决?提前致谢。
解决方案
你需要让打字稿知道它在那里。最简单的方法是:
let confirmPswrdCtrl = fb.get('ConfirmPassword') as FormControl;
推荐阅读
- python - 处理单个元素或序列的通用函数
- angular - Jasmine 单元测试:如何访问由 @input() 设置的属性?使用 component.propertyname 访问它会返回 undefined
- c# - 将访问控制属性从一个文件复制到另一个 C#
- debugging - 如果设置了 GD 标志,读取调试寄存器是否会引发异常?
- python-sphinx - 我可以使用与部分标题不同的自定义部分链接吗?
- python - 如何在没有方法帖子和表单的情况下在 django 中保存数据?
- amazon-web-services - redis 使用 jedis 获取多个密钥的最佳方法
- spring-boot - 根据重复时间间隔的值从番石榴缓存中删除条目
- ansible - 关于使用 Ansible 更新包的问题
- java - 使用字符串而不是 java.lang.charsequence