private validatorsFormAllField(FormGroup: FormGroup) {
Object.keys(FormGroup.controls).forEach((field) => {
const control = FormGroup.get(field);
if (control instanceof FormControl) {
control.markAsDirty({ onlySelf: true });
} else if (control instanceof FormGroup) {
this.validatorsFormAllField(control as FormGroup);
}
});
}
在检查instanceof
的FormGroup
类型时出现错误
“instanceof”表达式的右侧必须是“any”类型或可分配给“Function”接口类型的类型。
另外,自动完成没有在else if块中注册FormGroup
的类型,所以我假设我不能像这样检查FormGroup
类型。
判断传递的数组类型的正确方法是什么?
1条答案
按热度按时间hlswsv351#
FormGroup: FormGroup
的作用是“创建一个名为FormGroup
的变量,其类型为FormGroup
,并且,由于该变量名为FormGroup
,因此对于此函数的其余部分,FormGroup
引用的是一个变量,而不是一个类型。”(用技术术语来说,您的类型为shadowed or masked。)尝试类似
formGroup: FormGroup
的代码(使用camelCase作为变量名是更常见的JavaScript/TypeScript编码风格,它应该可以避免这个问题)。