Свойство push не существует для типа '() => void'. Как устранить эту ошибку в Typescript Angular 10?

Я получаю эту ошибку, когда использую push() для массива в проекте Angular 10 в Typescript.

Ошибка

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]
    })); 
  }

}
Структурированный массив Numpy
Структурированный массив Numpy
Однако в реальных проектах я чаще всего имею дело со списками, состоящими из нескольких типов данных. Как мы можем использовать массивы numpy, чтобы...
T - 1Bits: Генерация последовательного массива
T - 1Bits: Генерация последовательного массива
По мере того, как мы пишем все больше кода, мы привыкаем к определенным способам действий. То тут, то там мы находим код, который заставляет нас...
Что такое деструктуризация массива в JavaScript?
Что такое деструктуризация массива в JavaScript?
Деструктуризация позволяет распаковывать значения из массивов и добавлять их в отдельные переменные.
2
0
887
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы не можете использовать построитель форм, пока он не будет инициализирован в конструкторе. Переместите свою логику в метод конструктора:

 grantProgramForms : any 

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

Тогда в вашем методе addGrantProgramForms вы ссылаетесь на неправильную переменную, я думаю, вы имеете в виду this.grantProgramForms.push не this.AddGrantProgramForms.push

Спасибо! Я вызывал метод вместо массива, лол. Глупая ошибка с моей стороны.

StarLord 14.12.2020 07:20

Не беспокойтесь, это случается. Рад, что теперь работает!

chrismclarke 14.12.2020 07:20

Если нет других проблем, вы можете пометить это как решенное.

chrismclarke 14.12.2020 07:21

Другие вопросы по теме