属性'push'在类型"() => void"上不存在。如何在 Typescript Angular 10 中解决此错误?



当我在Typescript中的Angular 10项目中对数组使用push((时,我收到了这个错误。

错误

Property 'push' does not exist on type '() => void'.ts(2339)

请帮我弄清楚为什么会出现这个错误,以及如何解决它?

export class GrantProgramComponent implements OnInit {
grantProgramForms : any = this.fb.array([]); 
constructor(private fb: FormBuilder ) { }
ngOnInit(): void {
this.AddGrantProgramForms(); 
}

AddGrantProgramForms(){
this.AddGrantProgramForms.push(this.fb.group({
Id : [0], 
ProgramName : [''], 
ProgramCode : [''], 
StartDate : [''],
EndDate : [''], 
Status : [false]
})); 
}
}

在构造函数中初始化formbuilder之前,不能使用它。将您的逻辑移动到构造函数方法中:

grantProgramForms : any 
constructor(private fb: FormBuilder ) {
this.grantProgramForms = this.fb.array([]); 
}

那么在你的addGrantProgramForms方法中,你引用了错误的变量,我认为你指的是this.grantProgramForms.push而不是this.AddGrantProgramForms.push

最新更新