У меня есть таблица, в которой я отображаю значения объекта Json, и у меня есть модель, в которой я могу добавлять новые данные, а позже я отображаю эти значения в таблице.
<tbody>
<tr *ngFor="let row of icDataToDisplay.icdata; let icIndex=index">
<td [ngClass]="editMode && clickedRowIndex === icIndex? 'edit-enabled': ''">{{row.Device_Type}}</td>
<td [ngClass]="editMode && clickedRowIndex === icIndex? 'edit-enabled-category': ''">{{row.Device_Model}}</td>
<td [ngClass]="editMode && clickedRowIndex === icIndex? 'enabled-recommendation': ''">
<span *ngIf="editMode && clickedRowIndex !== icIndex">{{row.Recommended_Software_Version}}</span>
<span *ngIf="!editMode && clickedRowIndex !== icIndex">{{row.Recommended_Software_Version}}</span>
<input type="text" class="enabled-hw" [(ngModel)]="row.Recommended_Software_Version" (ngModelChange)="onChange($event, 'Recommended_Software_Version')"
*ngIf="editMode && clickedRowIndex === icIndex" />
</td>
</tr>
</tbody>
Компонент
public addSoftwareIcData() {
this.configManagementService.postIcData(this.clickedProductFamily,
'', this.icDataObject, 'Software').
subscribe((response) => {
if (response.status === 200) {
this.closeAddIcModal();
this.myData = 'IC data added successfully.';
this.icDataList = response;
this.ref.markForCheck();
} else if (response.status === 304) {
this.info = response.message;
}
});
}
В модальном режиме это вызов API POST, и ответ будет содержать вновь добавленные данные вместе со старыми данными.Я переназначаю данные API-интерфейса icDataToDisplay.icdata для рендеринга.
Проблема в том, что представление не обновляется, даже если значение icDataToDisplay.icdata изменилось.Почему Angular не выполняет автоматическое обнаружение изменений?Я пытался с this.ref.markForCheck ();изменить детектор Angular, но он не работает.Пожалуйста, предложите