Показать обновленные данные, которые были получены из http call Angular - PullRequest
0 голосов
/ 24 апреля 2020

Я выталкиваю данные из отклика данных, который содержит вложенный массив, в массив данных stati c в моем компоненте.

Программным образом данные правильно помещаются в объект. Я видел это, когда шел по методу, и увидел, что для l oop успешно добавляются элементы в уже существующий массив. Это добавляется 'OnInit'

Это просто не добавляет элементы в таблицу на мой взгляд.

 ngOnInit(): void {
    this._data.getContacts().subscribe(data => this.addAsyncData(data));
  }

  addAsyncData(result){
    for(let i =0; i < result.length; i++) {
      this.people.push(result[i]);
  }
}

Я подозреваю, что это как-то связано с хуками жизненного цикла ..

1 Ответ

2 голосов
/ 24 апреля 2020

Я бы хотел увидеть больше кода, чтобы быть уверенным, но, вероятно, ваши изменения не отражаются при рендеринге вашего шаблона, потому что ваши добавления в массив 'people' не вызывают обнаружение изменений.

Это потому, что детектор изменений ищет изменения в ссылках связанных объектов (в данном случае, «указатель» на массив). Чтобы вызвать обнаружение изменений, вам нужно изменить ссылку (то есть создать новый массив).

Попробуйте:

addAsyncData(result){
    this.people = [...this.people, ...result];
}

Создает новый массив с исходным и новым содержимым. .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...