1

我正在尝试让打字稿strictNullChecks在 Angular 5 项目中工作。

我有一个表格:

this.signinForm = this.fb.group({
  emailAddress: ['', NGValidators.isEmail()],
  password: ['', Validators.required],
  rememberMe: false,
});

我可以rememberMe使用this.signinForm.get('rememberMe'). 然而,该FormGroup#get方法的返回是AbstractControl | null如此打字稿不喜欢this.signinForm.get('rememberMe').value(因为它认为this.signinForm.get('rememberMe')可能是空的)。

是否可以告诉打字稿,在这种情况下,返回this.signinForm.get('rememberMe')总是AbstractControl 而不是 AbstractControl | null

4

2 回答 2

4

使用!运算符:

this.signinForm.get('rememberMe')!.value
于 2017-11-28T06:18:51.113 回答
1

我们可以TypeScript通过用 包裹表达式来强制输入as [type]。在你的情况下,它会是(this.signinForm.get('rememberMe') as AbstractControl).value.

于 2017-11-28T05:46:43.620 回答