Maison > Questions et réponses > le corps du texte
Je dois transmettre un montant (par exemple 94) à l'entrée d'addition et de soustraction afin d'ajouter ou de soustraire de ce montant au lieu de zéro.
Mon html :
<tr *ngFor="let item of articulos"> <td>{{item.articulo}}</td> <td>{{item.cantidad}}</td> <td> <input id="quantity" type="button" value="-" (click)="quantity=quantity-1"> <input type="text" id="quantity2" name="quantity" value="{{quantity}}"> <input id="quantity" type="button" value="+" (click)="quantity=quantity+1"> </td> </tr>
Mes ts :
quantity: number; constructor(private datosService: DatosService) { this.quantity = 0; }
J'ai besoin que 94 et 60 apparaissent sur le compteur pour mettre à zéro, et pour pouvoir additionner et soustraire.
J'ai essayé de changer la quantité en {{item.quantity}} dans la ligne ci-dessous et de passer la valeur mais cela ne me permet pas d'ajouter et de soustraire les valeurs car l'opération ne sera plus la quantité.
P粉3229187292024-03-29 16:57:52
Une description plus complète de ce que Yongshun a dit :
Maintenant, votre composant dans son ensemble a une variable quantity
.
L'intégralité de votre modèle fait référence à cette variable.
Cependant, votre modèle affiche plusieurs lignes (*ngFor="let item of articulos"
).
Chaque ligne (item
) 都有自己的数量值 (item.cantidad
),但每一行都指向完全相同的单个 quantity
) a sa propre valeur de quantité (item.cantidad
), mais chaque ligne pointe exactement vers la même variable
+
,quantity
将变为 1。如果您在第二行按 +
,quantity
Donc si vous appuyez sur +
sur la première ligne,
+
sur la deuxième ligne, deviendra 2. quantity
variable.
Vous avez besoin d'une ligne -> une variable de quantité.
item
button
private onDataReceived(articulos: any[]): void { articulos.forEach((item: any) => { item.variableQuantity = item.cantidad; }); this.articulos = articulos; }(En plus, c'est un bouton, pourquoi ne pas utiliser l'élément
?)
ou
🎜Vous suivez la quantité séparément (doit encore être initialisée) : 🎜public quantities = {}; private onDataReceived(articulos: any[]): void { articulos.forEach((item: any) => { quantities[item.articulo] = item.cantidad; }); this.articulos = articulos; }