Попытка обновить входное значение в том же компоненте, но не удается обновить. Получение ошибки, например

ERROR
Error: Cannot read properties of undefined (reading 'pop')

Итак, как решить эту проблему?

Table.component.ts :

export class TableComponent implements OnInit {
@Input() names: any;

constructor() {}

ngOnInit() {}

testFn() {
  this.names.pop('Test22');
  this.names = [...this.names];
  console.log(this.names);
}

}

Демонстрация: https://stackblitz.com/edit/angular-pass-table-data-to-input-property-dlsufy?file=src%2Fapp%2Ftable%2Ftable.component.ts

0
EMahan K 27 Ноя 2022 в 07:14

1 ответ

Лучший ответ

Джей Сваминараян!

Вы делаете это немного неправильно при передаче ссылки на компонент.

В ChangeComponent он неправильно ссылается на табличный компонент. В HTML-коде AppComponent компонент таблицы должен быть передан в качестве входных данных для компонента changecomponent.

Вы можете посмотреть на этот исправленный код

https://stackblitz.com/edit/angular-pass-table-data-to-input-property-2ehcxs?file=src%2Fapp%2Ftable%2Ftable.component.html,src%2Fapp%2Ftable%2Ftable.component. ts,src%2Fapp%2Fapp.component.html,src%2Fapp%2Fapp.component.ts,src%2Fapp%2Fchange%2Fchange.component.html,src%2Fapp%2Fchange%2Fchange.component.ts,src%2Fapp% 2Ftable%2Ftable.component.css

1
Satsangpriyadas Swami 27 Ноя 2022 в 07:26