Я получаю объект Essensplan
const essensplan = [
{ id: 1, essenProWoche: [11, 14, 17, 20, 12] },
...
{ id: 8, essenProWoche: [15, 14, 13, 12, 11] }
];
с эмулируемого сервера, и я хочу, чтобы у пользователя была возможность изменять каждое значение массива essenProWoche
и вернуть его на сервер.
Я пытался
<div>
<label>Änderungen:
<input [(ngModel)]="essensplan.essenProWoche" placeholder="Name">
</label>
</div>
, который не работает, потому что он не возвращается как массив
и
<label *ngFor="let id of essensplan.essenProWoche; let i = index">
<input type="number" [(ngModel)]="essensplan.essenProWoche[i]">
</label>
, который изменяет значения в браузере, но они не сохраняются.
Я сохраняю входы с помощью следующих функций:
essensplan-detail.component.ts
save(): void {
this.essensplanService.updateEssensplan(this.essensplan)
.subscribe(() => this.goBack());
}
essensplan.service.ts
updateEssensplan(essensplan: Essensplan): Observable<any> {
return this.http.put(this.speisekarteUrl, essensplan, httpOptions).pipe(
tap(_ => this.log(`updated essensplan id=${essensplan.id}`)),
catchError(this.handleError<any>('updateEssensplan'))