У меня есть массив объектов, которые отображаются в виде, и я хочу обновить объект в массиве, используя результаты http get call.
объект (элемент) обновляется, но кажется, что когда я отлаживаю его, это изменение в объекте отсутствует в массиве (this.myArray) и поэтому в представлении ничего не изменяется.
component.ts
myFunction() {
this.myArray.forEach(item => {
this._appSvc.modifyObject(item).subscribe(result => {
item = result;
});
});
}
appSvs.ts
modifyObject(item): Observable<IItem>{
return this._http.get(url).map(response => <IItem> response.json());
}
component.html
<tbody>
<tr *ngFor="let item of myArray | orderBy:{property: sortingAttribute, direction: direction}">
<td>
<input type="checkbox" name="select-{{item.id}}"
id="select-{{item.id}}"
[checked]="item.selected"
(change)="selectItem(item.id)"/>
</td>
<td>
<span>{{item.name}}</span>
</td>
<td>
<span>{{item.code}}</span>
</td>
</tr>
</tbody>