当我在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