C'est mon projet. La logique est la suivante. La liste des produits s'affiche à droite. Appuyez sur Ajouter pour déterminer si elle a été ajoutée au panier. Si oui, ajoutez la quantité. Sinon, créez une fiche. .
Comment faire correspondre la liste de produits avec le panier de l'utilisateur lors de l'actualisation de la page ?
<ion-header>
<ion-navbar>
<ion-title>产品列表</ion-title>
<button ion-button menuToggle end>
<ion-icon name="menu"></ion-icon>
</button>
</ion-navbar>
</ion-header>
<ion-content>
<p class="left-list">
<ion-list >
<button ion-item *ngFor="let category of categories" (click)="getItems(category)" [class.active]="category==selectCategory">
{{ category.name }}
</button>
</ion-list>
</p>
<p class="right-content">
<ion-list>
<ion-item *ngFor="let item of items">
<ion-thumbnail item-left *ngIf="item.image">
<img src="{{item.image}}">
</ion-thumbnail>
<h2>{{item.name}}</h2>
<p>{{item.text}}</p>
<p class="input-group">
<button ion-button round>-</button>
<input type="number" [(ngModel)]="item.cart.number || 0" >
<button ion-button round (click)="itemInc(item)">+</button>
</p>
</ion-item>
</ion-list>
</p>
</ion-content>
Ma logique actuelle est d'associer l'enregistrement de l'utilisateur au produit dans le panier. S'il y a un enregistrement item.cart.number
, il sera affiché. S'il n'y a pas d'enregistrement, 0 sera affiché. d'erreurs. . . .
Il devrait s'agir de créer une structure de données pratique.
La structure de la liste vous est donnée par le backend et ne nécessite pas de conversion. Il suffit de vérifier d'abord la catégorie puis les produits correspondant à la catégorie.
Le panier doit être un objet variable distinct (carte). La clé est l'ID du produit et la valeur est la quantité. Vous pouvez accéder directement à la quantité correspondante dans le modèle.