我有一个在视图中显示的对象数组,并且想使用http get调用的结果更新数组中的对象。
对象(项目)已更新,但是当我调试它时,似乎对象的这种变化不存在于数组(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>
答案 0 :(得分:0)
根据索引和从服务中获得的新项来修改基本数组。
myFunction() {
this.myArray.forEach((item,index) => {
this._appSvc.modifyObject(item).subscribe(result => {
this.myArray[index] = result;
});
});
}