我正在尝试获取打字稿strictNullChecks
在Angular 5项目中工作。
我有一个形式:
this.signinForm = this.fb.group({
emailAddress: ['', NGValidators.isEmail()],
password: ['', Validators.required],
rememberMe: false,
});
我可以使用this.signinForm.get('rememberMe')
获得rememberMe
控件。但是,FormGroup#get
方法的返回是AbstractControl | null
,因此Typescript不喜欢this.signinForm.get('rememberMe').value
(因为它认为this.signinForm.get('rememberMe')
可能为null)。
是否可以告诉Typescript,在此实例中, this.signinForm.get('rememberMe')
的返回始终是 AbstractControl
,而不是 AbstractControl | null
?
使用!
操作员:
this.signinForm.get('rememberMe')!.value
我们可以通过用as [type]
包裹表达来强制键入TypeScript
。在您的情况下,将是(this.signinForm.get('rememberMe') as AbstractControl).value
。