Dire que j'ai la suite du tableau d'objets, permet de le nom il itemArray;
{
"totalItems": 2,
"items": [
{
"id": 1,
"name": "foo"
},
{
"id": 2,
"name": "bar"
},
]
}
Et j'ai un abonnement qui renvoie le résultat mis à jour de seulement 2 de code. Comment puis-je mettre à jour le tableau d'objets sans boucle à travers l'ensemble de la matrice?
Ce que je voudrais, c'est quelque chose comme l'exemple ci-dessous;
updateUser(user){
this.myservice.getUpdate(user.id)
.subscribe(newitem => {
this.updateArray(newitem);
});
}
updateArray(newitem){
this.itemArray.items[newitem.id].name = newitem.name
}
ou encore mieux, en remplacement de la totalité de l'objet;
updateArray(newitem){
this.itemArray.items[newitem.id] = newitem
}
Cet exemple cependant les mises à jour de la matrice en fonction de l'indice du tableau. Alors, comment puis-je mettre à jour basé sur newitem.id?
Modèle de demande en commentaire:
<tr *ngFor="let u of itemsArray.items; let i = index">
<td>{{ u.id }}</td>
<td>{{ u.name }}</td>
<td>
<input type="checkbox" checked="u.accepted" [(ngModel)]="itemsArray.items[i].accepted" (ngModelChange)="updateUser(u)">
<label for="singleCheckbox-{{i}}"></label>
</td>
</tr>